2013-09-26 44 views
-2

我嘗試了每一個我知道的導入,並且它基本上一直給我使用鍵盤或數學的每一行上的類,接口或枚舉期望的錯誤。我應該使用什麼導入鍵盤掃描儀和數學?

如果你想知道的程序在做什麼,它假設找到2點之間的距離,使得用戶將英寸

// Sam 
// 9.25.13 
// import csl.Keyboard from the L: drive jdk 
import java.io.*; 
import java.util.*; 
public class swagggg 
    public static void main (String [] args) 
    { 
     // declare variables 
     int x1, y1 ,x2, y2; 
     double distance; 
     // get user input 
     Scanner Keyboard = new Scanner (System.in); 
     System.out.println("Enter the first set of coordinates: "); 
     x1 = Keyboard.nextInt(); 
     y1 = Keyboard.nextInt(); 
     System.out.println("Enter the second set of coordinates: "); 
     x2 = Keyboard.nextInt(); 
     y2 = Keyboard.nextInt(); 
     // calculate using the Math class static method 
     distance = Math.sqrt(Math.pow(x2-x1,2) + (Math.pow(y2-y1,2)); 
     // out results 
     System.out.println ("The distance between (" +x1+","+y1+") and ("+ x2 +","+y2+") is " + distance); 
    } 
} 
    /

~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 現在它編譯,但是當我在第一個座標類型,它看起來像這樣

Enter the first set of coordinates: 
    (2,9) 
    Exception in thread "main" java.util.InputMismatchException 
     at java.util.Scanner.throwFor(Scanner.java:909) 
     at java.util.Scanner.next(Scanner.java:1530) 
     at java.util.Scanner.nextInt(Scanner.java:2160) 
     at java.util.Scanner.nextInt(Scanner.java:2119) 
     at C2p8.main(C2p8.java:17) 

    Process completed. 

回答

0

Keyboard不是標準庫的一部分。也許你的意思是java.util.Scanner,但沒有readInt()方法,它有nextInt()。代碼頂部有一條評論,告訴你它在哪裏,它看起來像一個自定義類。

Mathjava.lang.Math

你在

double distance; // <missing that ; 

末缺少;而你在這裏

y1 = Keyboard.readInt();' // < what is that? 

有一個懸空報價擺脫它。


假如你使用正確的IDE像EclipseNetbeans,或IntelliJ你不會有任何的這些問題。

+0

雅,我沒有得到證明,因爲我找不到在標準庫中該死的導入。 – Sam

+0

@同樣,'鍵盤'在JDK中不存在。它確實存在,因爲您的評論狀態'從L:驅動器jdk導入csl.Keyboard(這是爲學校電腦,不是我的)' –

+0

@好吧,我添加了數學導入並將所有鍵盤掃描器更改爲java.util掃描器nextInt();它仍然不起作用 – Sam

0

java.lang.Math中。*的數學...

對於從鍵盤輸入獲取,你需要一臺掃描儀。

Scanner scannerVariableNameWhichYouCouldCallKeyboard = new Scanner(System.in);

所以如果你只是增加了行Scanner Keyboard = new Scanner(System.in);,所有Keyboard行會的工作。您可能需要import java.util.Scanner;

作爲參考,如果您在Eclipse中工作,則可以讓Eclipse自動處理導入,方法是將鼠標懸停在需要導入並等待彈出窗口的事物上,或者我想Ctrl + O。

+0

顯然它假設沒有定義掃描儀,idk我的教授告訴我們。 – Sam

1

Keyboard類在JDK中不存在。可能這是你老師做的某種習慣課。您將需要該類的.jar或實際的代碼。你應該在電腦上做你的工作嗎?如果是這樣的話,老師可能會給你那個檔案。我認爲你可能需要的唯一一類而不是KeyboardScanner,但那一個有nextInt()而不是readInt()方法。還有一個必須被實例化,它不是靜態的,它看起來像你的一樣。

對於Math類,你不應該導入它。它總是自動導入。

+0

看到了,這就是我對數學課的看法,但我無法得到這個該死的東西的工作。我改變了所有nexint,它仍然給我同樣的錯誤。 – Sam

+0

@Sam:我們只能解決在這個問題中錯誤/未導入類的主要問題。如果仍然出現錯誤,請仔細閱讀編譯日誌**,並嘗試查明發生了什麼問題。 – Makoto

+0

@Sam如果你現在要使用nexInt(),你需要實例化掃描器。只需添加一個「掃描儀鍵盤=新掃描儀(System.in);」在你的main的開始處換行,並改變你的「鍵盤」的「鍵盤」字樣。 (變量名不應該是大寫的,只有類) – dajavax