日期:2014-05-20  浏览次数:20669 次

小弟刚学java,程序错误,望指教!
import java.io.*;
class mainApp
{
public static void main(String []args)throws IOException
{
String str;
System.out.println("输入字符串比较大小 :");
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
str = in.readLine();
char array[]=str.toCharArray();
int i=0;
char min=array[i];
while( array[i]!=' ')
{
if (min>array[i])
min = array[i];
i++;
}
System.out.println(min);
}
}

------解决方案--------------------
while( array[i]!=' ') //如果字符串中没有空格,不就会数组越界
{
if (min>array[i])
min = array[i];
i++;
}
改成
for (; i<array.length; i++) {
//if (array[i] == ' ') break; //如果想遇到空格就退出的话
if (min>array[i]) min = array[i];
}
------解决方案--------------------
数组越界异常。这是你代码
while( array[i]!=' ')发生的。
通常在java中采用
for(int i=0;i<array.length;i++)像这样判断的。