0

大家好,我的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);
}
}
4

2 回答 2

4

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

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

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

于 2013-04-21T18:55:23.953 回答
0

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

import java.util.Scanner;

然后使用以下内容创建 Scanner 类的实例:

Scanner input = new Scanner(System.in);
于 2013-04-21T19:11:12.257 回答