错误:无法解析键盘

时间:2014-12-21 09:20:07

标签: java

我想编写一个简单的程序,从键盘读取数组并将其粘贴到屏幕上。当我编译它时,我收到以下错误:

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功能? 谢谢!

3 个答案:

答案 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下工作得相当好。