2011-09-02 102 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。鍵盤;'? –