找不到Java错误变量符号

时间:2013-04-21 18:53:43

标签: java

大家好我的程序Java有问题,我已经在母项目中输入了io输入而不是问题所在。 错误是:

C:\Users\test\Desktop\Prodotto.java:26: cannot find symbol
symbol : variable input
location: class Prodotto
line=input.readLine();
^

这是该计划。 我该如何解决?

public class Prodotto
{
String descrizione;
double prezzoVendita;
int giacenza;
String line;


Prodotto(){}

void Valore()
{
    System.out.print("Valore di magazzino = ");
    System.out.println(giacenza*prezzoVendita);
}

void Carico()
{
    int carico=0;
    String line;
    do
    {
        try
        {
            System.out.println("Di quanto è aumentata la giacenza?");
            line=input.readLine();
            carico=Integer.parseInt(line);
        }
        catch (Exception e)
        {
            System.out.println("il carico deve essere maggiore di 0");  
        }

        if(carico<=0)
        {

        }
        else
        {
            giacenza=giacenza+carico;   
        }
    }
    while(carico<=0);
}

void Scarico()
{
    int scarico=0;
    String line;
    do
    {
        try
        {
            System.out.println("Di quanto è diminuita la giacenza?");
            line=input.readLine();
            scarico=Integer.parseInt(line);
}
catch (Exception e)
{
System.out.println("la giacenza non può essere minore di 0");
}

if(scarico<=0)
{

}
else
{
giacenza=giacenza-scarico;
}
}
while(giacenza<=0);
}

void Visualizza()
{
System.out.println("Descizione prodotto = "+ descrizione);
System.out.println("Prezzo di vendita = "+ prezzoVendita);
System.out.println("giacenza = "+ giacenza);
}
}

2 个答案:

答案 0 :(得分:4)

编译器绝对正确(正如我所期望的那样) - 你永远不会声明一个名为input的变量。想想为什么你期望它能够工作,你期望变量类型是什么,你期望它被初始化的地方等等。

鉴于您是从两种不同的方法中使用它,您可能希望它是一个实例变量......也许您希望它是Scanner?考虑这一点很重要 - 找出你期望它工作的原因。如果您刚刚从其他地方复制代码,请反思在将代码包含在您自己的程序中之前真正理解代码的重要性。

此外,遵循Java命名约定并缩进代码以提高可读性是个好主意。

答案 1 :(得分:0)

使用以下内容导入扫描仪类:

import java.util.Scanner;

然后使用以下命令创建Scanner类的实例:

Scanner input = new Scanner(System.in);