【问题标题】:Java: Input strings with keyboard classJava:使用键盘类输入字符串
【发布时间】:2011-11-09 02:40:18
【问题描述】:

我正在尝试在 Java 控制台应用程序中输入信息,但我似乎无法运行它。

这就是我的 Java 文件的样子:


public class Ovning1_3 
{

     public static void main(String args[])
     {

         String name;
         System.out.println("Enter your name");
         name = Keyboard.readString();
         System.out.println(name);      
    }

}

但我得到了错误:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
Keyboard cannot be resolved
at Ovning1_3.main(Ovning1_3.java:9)

我的源文件夹中有一个keyboard.class 文件。 我在 Ubuntu 中使用 Eclipse。

【问题讨论】:

  • Keyboard.class 文件应该在您的 bin 文件夹中。源文件夹用于存放 .java 文件。
  • 我在 bin 文件夹中。 (我也在 src 文件夹中尝试过但没有成功,所以到目前为止我在两个文件夹中都有它,但它们都没有工作)

标签: java input keyboard compiler-errors


【解决方案1】:
Unresolved compilation problem:  

表示代码无法编译。

你必须导入键盘,比如

import uitl.Keyboard

当你使用来自不同包的类(不是当前类的同一个包)时,你必须导入这个类。如果该类也在同一个包中,则无需导入。

类一般分为Packages
你怎么知道包裹?转到班级的第一个赞。这应该类似于package xyz,表示xyz 包中的当前类。该类将位于一个名为 xyz 的文件夹中(这是包的规则:当您想在包中有一个类时,例如 abc.xyz 那么该类应该有一个包声明 - 代码的第一行- 成为包abc.xyz 并且文件应该存在于文件夹xyz 中然后应该在文件夹abc 中。

【讨论】:

  • 我试过了,在我的 java 文件顶部导入 util.Keybaord 但没有用。
  • @Michael util 只是一个例子。它应该被包替换。试试import Keyboard;。顺便说一句,您从哪里获得键盘课程?您使用它的目的是什么?
  • 我从老师那里得到了 Keyboard.class。它适用于使用带有 Textpad 的 Windows 的朋友。他们所要做的就是将 Keyboard.class 文件放入他们的文件夹中。
  • 您是否将键盘类放在存在 Ovning1_3 类的同一文件夹中?您可以尝试在 Eclipse 中刷新和重建项目(我假设您正在使用它)吗?右键单击项目-> 刷新。项目菜单 -> 清理和项目菜单 -> 构建项目
  • 哈哈,哦,我的笨蛋……这真是太愚蠢了,我所要做的就是在将 Keyboard.class 文件放入文件夹后刷新到项目。非常感谢尼瓦斯。荣誉。
【解决方案2】:

试试这个

try{

BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));
        System.out.println("Enter your Number :");
        String  number=buf.readLine();
        System.out.println("your Number is :"+number);


 }catch(IOException ex){} 

【讨论】:

  • 线程“main” java.lang.Error 中的异常:未解决的编译问题:BufferedReader 无法解析为类型 BufferedReader 无法解析为类型 InputStreamReader 无法解析为类型
  • 你必须把它放在一个 try/catch 中,比如 try{//your code}catch(IOException e){}。我认为你错过了基础知识
【解决方案3】:
  1. Java 区分大小写。一个类文件 keyboard 将包含一个类 keyboard not Keyboard
  2. 您是否已导入您的课程?还是两个类都在同一个包中?

【讨论】:

  • 我还没有导入我的类,我只是把它放在同一个文件夹中。我该怎么做?
【解决方案4】:

我怀疑你仍然有这个问题,但在你的代码顶部这样导入它。

import cs1.Keyboard;

那么它应该可以正常工作。例如:

import cs1.Keyboard;
public class NamePrinting
{
    public static void main(String[]args)
    {
        System.out.println ("Enter your name");
        String name = Keyboard.readString();
        System.out.println (name);  
    }
}

【讨论】:

    【解决方案5】:

    您需要在第一行使用 import java.util.Scanner; 并使用扫描仪代码而不是“键盘”,您将获得与键盘相同的结果。 尝试如下。

     import java.util.Scanner;
     public class Hello {
    
     public static void main(String[] args) {
        String name;
        System.out.print("enter your name:");
        Scanner input = new Scanner (System.in);
        name = input.nextLine();
    
    
      }
    
    }
    

    【讨论】:

    • 告诉他写import whatever.class.path.to.Keyboard;不是更容易吗?
    猜你喜欢
    • 1970-01-01
    • 2022-06-29
    • 2014-03-05
    • 2014-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-29
    相关资源
    最近更新 更多