读书人

Java中利用二维数组存储输入字符串有关

发布时间: 2012-02-02 23:57:14 作者: rapoo

Java中利用二维数组存储输入字符串问题
public class Test {
public static void main(String args[])throws IOException{
String str[][]=new String[3][];
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));

for(int i=0;i<3;i++){
str[i]=in.readLine(); //显示这里有问题,为什么?谢谢~~
}
for(int i=0;i<3;i++){
System.out.println(str[i]);
}
}
}


[解决办法]
改成下面那样,你看下还有问题吗??

Java code
....    for (int i = 0; i < 3; i++) {            str[3][i] = in.readLine();          }....
[解决办法]
错误的原因是数组没有创建,为什么要用二维呢?

修改成一维数组的实现如下:
Java code
public   class   Test   { public   static   void   main(String   args[])throws   IOException{     String   str[]=new   String[3];     BufferedReader   in=new   BufferedReader(new   InputStreamReader(System.in));     for(int   i=0;i <3;i++){       str[i]=in.readLine();           //显示这里有问题,为什么?谢谢~~     }     for(int   i=0;i <3;i++){       System.out.println(str[i]);     } } }
[解决办法]
你需要给输入的每个字符串分配空间,new string(输入字符串的长度)才行
[解决办法]
你的数组的概念一塌糊涂,上面创建的是二维数组,下面赋值是给一维数组,怎么可能会对呢?
[解决办法]
错误的原因是数组没有创建,为什么要用二维呢?

修改成一维数组的实现如下:

Java code

public class Test { public static void main(String args[])throws IOException{ String str[]=new String[3]; BufferedReader in=new BufferedReader(new InputStreamReader(System.in)); for(int i=0;i <3;i++){ str[i]=in.readLine(); //显示这里有问题,为什么?谢谢~~ } for(int i=0;i <3;i++){ System.out.println(str[i]); } } }


[解决办法]
关注下

读书人网 >J2SE开发

热点推荐