我应该使用什么导入键盘扫描仪和数学。

时间:2013-09-26 01:21:01

标签: java

我尝试了我所知道的每一个导入,它仍然基本上一直在使用键盘或数学的每一行给我类,接口或枚举预期错误。

如果你想知道该程序的功能,它会想要找到用户输入的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.

3 个答案:

答案 0 :(得分:1)

JDK中不存在Keyboard类。可能它是由你的老师制作的一个定制课程。您需要该类的.jar或实际代码。你应该在电脑上做你的工作吗?如果是这样的话,老师可能会给你那个档案。我认为您可能需要的唯一一个课程是Keyboard而不是Scanner,但该课程的nextInt()不是readInt()方法。此外,必须实例化它,它不是静态的,而且它似乎是你的Keyboard

对于Math类,您不应该导入它。它总是自动导入。

答案 1 :(得分:0)

Keyboard不属于标准库。也许你的意思是java.util.Scanner,但是没有readInt()方法,它有nextInt()。代码顶部有一条注释,告诉您它在哪里,它看起来像一个自定义类。

Mathjava.lang.Math

你在

结尾处遗漏了;
double distance; // <missing that ;

你有一个悬垂的引用

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

摆脱它。


如果您使用了EclipseNetbeansIntelliJ等适当的IDE,那么您就不会遇到任何这些问题。

答案 2 :(得分: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。