我想编写一个简单的程序,从键盘读取数组并将其粘贴到屏幕上。当我编译它时,我收到以下错误:
Keyboard cannot be resolved
这是我的代码:
import java.util.*;
import java.io.*;
public class Test2
{
public static void main (String args[])
{
int i, n;
int[] myList= new int[100];
System.out.println ("n= "); Keyboard.getInt(n);
for (i=1; i<=n; i++)
{
System.out.println ("myList[" + i + "]= ");
Keyboard.getInt(myList[i]);
}
for (i=1; i<=n; i++)
System.out.println (myList[i]);
}
}
我正在使用Eclipse Luna。我是否需要下载任何软件包以使用Keyboard.getInt功能? 谢谢!
答案 0 :(得分:7)
您忘记创建keyboard
类型的Scanner
变量。
在开头添加:
Scanner keyboard = new Scanner(System.in);
要记住的一些事情:
变量名称以小写字母开头,因此将Keyboard
更改为keyboard
。请参阅Oracle naming convention
Scanner
使用nextInt
方法返回int
。
你应该在最后关闭Scanner
。
数组基于零,您应该从0开始到n - 1
所以你会得到:
import java.util.*;
import java.io.*;
public class Test2
{
public static void main (String args[])
{
int i, n;
int[] myList= new int[100];
Scanner keyboard = new Scanner(System.in);
System.out.println ("n= ");
n = keyboard.nextInt();
for (i=0; i<n; i++)
{
System.out.println ("myList[" + i + "]= ");
myList[i] = keyboard.nextInt();
}
for (i=0; i<n; i++)
System.out.println (myList[i]);
keyboard.close();
}
}
答案 1 :(得分:1)
像这样使用scanner类 扫描仪键盘=新扫描仪(System.in) 并在你的循环中放置keyboard.next()而不是Keyboard.getInt() 这是示例代码:
public static void main (String args[])
{
int i, n;
int[] myList= new int[100];
Scanner keyboard = new Scanner();
System.out.println ("n= ");
n = keyboard.next();
for (i=1; i<=n; i++)
{
System.out.println ("myList[" + i + "]= ");
mylist[i] = keyboard.next();
}
for (i=1; i<=n; i++)
System.out.println ("list values" + myList[i]);
}
答案 2 :(得分:0)
扫描仪或控制台等类可能就是您想要的(有关详细信息,请参阅其他答案)。如果您需要对关键事件的低级别访问,我不知道任何跨平台库,但在Linux evdev-java下工作得相当好。