所以显然这不是一个已经完成的程序,我试着用你可以看到的几个分数来做...但是,input.nextLong();由于某些奇怪的原因,它不被认为是有效的符号?
import java.lang.Math;
import java.util.Scanner;
import java.io.PrintStream;
import type.lib.*;
public class Check04A
{
public static void main(String[] args)
{
PrintStream print = new PrintStream(System.out);
Scanner scan = new Scanner(System.in);
print.println("For each fraction enter its numerator/denominator,");
print.println("pressing ENTER after each");
print.println("Enter x");
Fraction x = new Fraction(input.nextLong(),input.nextLong());
print.println("Enter y");
Fraction y = new Fraction(input.nextLong(),input.nextLong());
print.println("Enter z");
Fraction z = new Fraction(input.nextLong(),input.nextLong());
print.println("Enter t");
Fraction t = new Fraction(input.nextLong(),input.nextLong());
}
}
我得到的错误可以在以下链接中看到: http://screencast.com/t/SFTkjV62ZhvU
由于
答案 0 :(得分:3)
您拥有名为 Scanner
的scan
变量,并且您将其用作input.nextLong()
,因此从这个意义上讲,您的input
显然未定义编译器。
您必须将其更改为input
。
Scanner input = new Scanner(System.in);
答案 1 :(得分:1)
Fraction x = new Fraction(input.nextLong(),input.nextLong());
什么是input
?我认为它应该是scan
因为您将Scanner
初始化为
Scanner scan = new Scanner(System.in);
您可以更改
Scanner scan = new Scanner(System.in);
要
扫描仪输入=新扫描仪(System.in);
或者您可以将input
更改为scan
答案 2 :(得分:1)
由于您确实将扫描仪对象声明为"扫描"您收到了无法识别的错误。但不是"输入" 。所以java编译器找不到一个名为" input"的初始化对象。改变"输入"用"扫描"并且编译器不会给出类似的错误。