从键盘输入10个字符串 存入数组a中,然后输出这10个字符串中最大字符串和最小字符串。 String max = a[0];String min = a[0];这两句改成这样String max = “”;String min = “”;要不然会有空指针的,这样改完应该就没问题了,你试试 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import java.io.*;class Test{public static void main(String args[]) { String max = "a"; String min = "z"; for(int i=0;i<10;i++){ try{ System.out.println("请输入字符串:"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String readline = br.readLine(); if(max.compareTo(readline)<0){ max=readline; } if(min.compareTo(readline)>0){ min=readline; } }catch(NumberFormatException e){ System.out.println("字符串格式输入有误,请重新输入。\n"); i--; }catch(IOException e){} } System.out.println("最大字符串为:"+max); System.out.println("最小字符串为:"+min); }}代码改成这样,也比较整洁,你说呢? 你读取10个字符后,把数组用Arrays.sort排序,第一个就是最小的,最后一个就是最大的! 按照你原来的思路修改了代码,注释更重要,请参考package test1; // 请尽早使用IDE书写程序,养成好习惯。包名一般为小写字母import java.io.*;public class MaxAndMin { // 类名一般为大写字母开头 public static void main(String args[]) { String a[] = new String[10]; String max = a[0]; // 执行完max 和 a[0]都为null,即使修改a[0]的值,max还一直是null String min = a[0]; // 执行完min 和 a[0]都为null,即使修改a[0]的值,min还一直是null for (int i = 0; i < 10; i++) { try { System.out.println("请输入字符串:"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String readline = br.readLine(); a[i] = readline; if (max==null || max.compareTo(a[i]) < 0) { // 使用变量之前,一定要考虑是否需要判断是否为null max = a[i]; } if (min==null || min.compareTo(a[i]) > 0) { // 使用变量之前,一定要考虑是否需要判断是否为null min = a[i]; } } catch (NumberFormatException e) { System.out.println("字符串格式输入有误,请重新输入。\n"); i--; } catch (IOException e) { } } System.out.println("最大字符串为:" + max); System.out.println("最小字符串为:" + min); }}执行结果:请输入字符串:123请输入字符串:234请输入字符串:345请输入字符串:456请输入字符串:567请输入字符串:678请输入字符串:789请输入字符串:890请输入字符串:901请输入字符串:012最大字符串为:901最小字符串为:012 java调用cmd命令,求解 菜鸟,求书中的一段话的意思! Vector 还是ArrayList——哪一个更好 如何拆分复杂字符串。 想用Java+Oracle9做一个基于C/S结构的简单图书管理系统,请各位前辈提供一点思路 班级排序怎么弄? 初学者-哪位高手能给我解答一下一个连接SQL server2000的问题?急! 请教一个简单问题 自定义的数据类型,打包后两个应用无法匹配识别 help me 关于框架的选择 使用java 怎么绘出图形,详情看下,求大神支招。
class Test{
public static void main(String args[]) {
String max = "a";
String min = "z";
for(int i=0;i<10;i++){
try{
System.out.println("请输入字符串:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String readline = br.readLine();
if(max.compareTo(readline)<0){
max=readline;
}
if(min.compareTo(readline)>0){
min=readline;
}
}catch(NumberFormatException e){
System.out.println("字符串格式输入有误,请重新输入。\n");
i--;
}catch(IOException e){}
}
System.out.println("最大字符串为:"+max);
System.out.println("最小字符串为:"+min);
}
}代码改成这样,也比较整洁,你说呢?
String a[] = new String[10];
String max = a[0]; // 执行完max 和 a[0]都为null,即使修改a[0]的值,max还一直是null
String min = a[0]; // 执行完min 和 a[0]都为null,即使修改a[0]的值,min还一直是null
for (int i = 0; i < 10; i++) {
try {
System.out.println("请输入字符串:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String readline = br.readLine();
a[i] = readline; if (max==null || max.compareTo(a[i]) < 0) { // 使用变量之前,一定要考虑是否需要判断是否为null
max = a[i];
}
if (min==null || min.compareTo(a[i]) > 0) { // 使用变量之前,一定要考虑是否需要判断是否为null
min = a[i];
} } catch (NumberFormatException e) {
System.out.println("字符串格式输入有误,请重新输入。\n");
i--;
} catch (IOException e) { } }
System.out.println("最大字符串为:" + max);
System.out.println("最小字符串为:" + min); }}
执行结果:
请输入字符串:
123
请输入字符串:
234
请输入字符串:
345
请输入字符串:
456
请输入字符串:
567
请输入字符串:
678
请输入字符串:
789
请输入字符串:
890
请输入字符串:
901
请输入字符串:
012
最大字符串为:901
最小字符串为:012