Java:使用键盘类输入字符串

我正在尝试在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文件。 我正在使用Eclipse和Ubuntu。

 Unresolved compilation problem: 

意味着代码无法编译。

你必须导入键盘,像

 import uitl.Keyboard 

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

类通常分组为包 。
你怎么知道这个包裹? 转到class级的第一个。 这应该类似于package xyz意思是xyz包中的当前类。 该类将位于一个名为xyz的文件夹中(这是包的规则:当你想在一个包中有一个类时,比如说abc.xyz然后该类应该有一个包声明 – 代码的第一行 – 到是包abc.xyz ,文件应该存在于xyz文件夹中,然后应该在文件夹abc

试试这个

 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){} 
  1. Java区分大小写。 类文件keyboard将包含类keyboard 而不是 Keyboard
  2. 你有import课吗? 或者两个类都在同一个包中?

我怀疑你是否还有这个问题,但是在代码的顶部将它导入。

 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); } } 

你需要使用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(); } }