【发布时间】:2009-04-22 15:41:13
【问题描述】:
我正在进行一项关于如何获取键盘命令行输入并将其放入数组中的 Bruce Eckel 练习。它应该采用 3 个单独的输入并将它们放入一个数组中并将它们打印出来。
这是我到目前为止的代码:
//: object/PushtoArray
import java.io.*;
import java.util.*;
class PushtoArray {
public static void main(String[] args) {
String[] s = new String[3];
int i = 0;
//initialize console
Console c = System.console();
while ( i <= 2 ) {
//prompt entry:
//System.out.println("Enter entry #" + i + ": ");
//readin
s[i] = c.readLine("enter entry #" + i + ": ");
//increment counter
i++;
} //end while
//reset counter
i = 0;
//print out array
while ( i <= 2 ) {
System.out.println(s[i]);
i++;
} //end while
}//end main
} //end class
更新:现在我得到一个不同的错误:
PushtoArray.java:15: readline(boolean) in java.io.Console cannot be applied to (java.lang.string)
s[i]= c.readline("Enter entry #" + i + ": ");
我正在尝试从命令提示符读取,但它根本没有提示。当我对 java 文件进行 javac 时,它可以正确编译。
我是否使用了错误的功能?我应该使用推送方法而不是赋值吗?
【问题讨论】:
-
你的 readline 方法从何而来?你定义了吗?
-
此代码是否与生成您的错误的实际匹配。上面的错误表明你没有找到你的主要方法,所以正确定义(它确实出现在上面)
-
@phill:你看到我的第二次编辑了吗?
-
@mmyers 是的,我做到了.. 谢谢.. 它开始提示输入
-
您仍然需要将最后一个 while 循环中的条件更改为 i
标签: java arrays command-line