input.nextLong();是不是被认为是一个象征?

时间:2014-10-15 07:35:34

标签: java

所以显然这不是一个已经完成的程序,我试着用你可以看到的几个分数来做...但是,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

由于

3 个答案:

答案 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"的初始化对象。改变"输入"用"扫描"并且编译器不会给出类似的错误。