2011-09-02 103 views
-1

我想在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文件我的源文件夹。 我在Ubuntu上使用Eclipse。

+1

Keyboard.class文件应该位于bin文件夹中。源文件夹用于.java文件。 –

+0

我在bin文件夹中有它。 (我也试过它在src文件夹中没有成功,所以到现在我已经在两个文件夹中但没有其中一个工作) – Michael

回答

2
Unresolved compilation problem: 

表示代码无法编译。

你必须输入键盘,像

import uitl.Keyboard 

当您使用类从不同的包(不一样的包当前类的),你必须导入类。如果班级也在同一个包中,那么你不需要导入。

类通常分组为Packages
你如何知道包装?转到类的第一个。这应该是类似于package xyz这意味着当前类在xyz包中。这个类将被放在一个名为xyz的文件夹中(这是对包的规则:当你想要在包中有一个类,比如abc.xyz,那么这个类应该有一个包声明 - 代码的第一行 - 要被包装abc.xyz和文件应该存在的文件夹xyz这则应该是一个文件夹abc中。

+0

我试过了,在我的java文件的顶部导入util.Keybaord,但它没有奏效。 – Michael

+0

@Michael“util”只是一个例子。它应该被包裹取代。尝试'导入键盘;'。顺便说一句你从哪里得到键盘课?你为什么使用它? – Nivas

+0

我从老师那里得到了Keyboard.class。它适用于使用Windows和Textpad的朋友。他们所要做的就是将Keyboard.class文件放入其文件夹中。 – Michael

0
  1. Java是区分大小写的。一个类文件keyboard将包含一类keyboardKeyboard
  2. 待办事项你是否已经导入了你的课程?或者两个课程都在同一个包中?
+0

我没有导入我的课,我只是把它放在同一个文件夹中。我怎么做? – Michael

1

试试这个

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){} 
+0

异常在线程“主要” java.lang.Error的:未解决的编译问题: \t BufferedReader中不能被解析为一个类型 \t BufferedReader中不能被解析为一个类型 \t的InputStreamReader不能解析为一个类型 – Michael

+0

你必须把这个在try/catch类似try {//你的代码} catch(IOException e){}。我想你已经错过了基础知识 – sampathpremarathna

0

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

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

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


    } 

} 
+0

只要告诉他编写'import whatever.class.path.to。键盘;'? –