当前位置: 首页 > 知识库问答 >
问题:

解析变量和左侧赋值以及计算令牌时出错

岳正浩
2023-03-14

我开始盲目地看着我的代码,我的大脑快要过热了。谈到编程,我是新来的。

公共类回收系统{

public static void main(String[] args) {

System.out.println("Please put in a valid bottle");


    Scanner sc = new Scanner(System.in);



    while ( sc.nextInt() != -1) {

        if (sc.nextInt(char a) = getaBottle);
                int bottleAcount++;
    } else if { (sc.nextInt(char b) = getbBottle);
                int bottleBcount++;
    } else if { (sc.nextInt(char c) = getcBottle);
                int bottleCcount++;
    } else { throw new EmptyStackException(); 
        System.out.println("Bottle not recognized");
    }
    System.out.println("The total number of bottles is " + totalBottlecount);
    System.out.println();
    System.out.println("The total amount returned is " + sumOfBottles );
    }
    sc.close();
}

}}

公共类瓶子{

private static final double A_BOTTLE = 1.0;
/**
 * @return the aBottle
 */
public static double getaBottle() {
    return A_BOTTLE;
}
/**
 * @return the bBottle
 */
public static double getbBottle() {
    return B_BOTTLE;
}
/**
 * @return the cBottle
 */
public static double getcBottle() {
    return C_BOTTLE;
}
private static final double B_BOTTLE = 1.5;
private static final double C_BOTTLE = 3.0;

}

公共类EmptyStackException扩展了异常{

}

公共类瓶计数{

int bottleAcount = 0;

int bottleBcount = 0;

int bottleCcount = 0; 

int totalBottleCount = bottleAcount + bottleBcount + bottleCcount;

}

我对getbottle、TotalBottalCount和BottalCount变量有单独的类。

我想做一个基于用户输入的回收系统模拟器,如果有任何意义的话,有三种不同类型的瓶子,它们被分配了不同的值,一个瓶子总数和三种瓶子类型的值之和。

我有几个编译器错误,我花了几个小时试图解决它们,但每次我这样做,新的错误发生,现在我得到了一个“编码块”。

当我被要求删除标记时,编译器无法解决我的变量和语法错误。我真的很想了解一些情况,因为我对java编程只有3周的了解。

更新:编译器错误完全复制

Multiple markers at this line
    - Syntax error, insert ")" to complete Expression
    - Duplicate method nextInt(char) in type RecyclingSystem
    - Syntax error, insert "}" to complete Block
    - Syntax error, insert "AssignmentOperator Expression" to complete Assignment
    - Return type for the method is missing
    - Syntax error on tokens, delete these tokens
    - The left-hand side of an assignment must be a variable
    - Syntax error, insert "AssignmentOperator Expression" to complete Expression
    - The left-hand side of an assignment must be a variable
    - Syntax error, insert ";" to complete BlockStatements
    - Syntax error on tokens, delete these tokens
    - Syntax error on token ")", { expected after this token
    - Syntax error, insert ";" to complete Statement

共有3个答案

华森
2023-03-14
else if { (sc.nextInt(char b) = getbBottle);
                int bottleBcount++;
    }

如果的语法完全错误。条件也检查使用==不是=< /code>它应该是:

else if (sc.nextInt(char b) == getbBottle);
                int bottleBcount++;

你也不能做int瓶装计数。这毫无意义。由于您已经在另一个类中声明了瓶装计数,因此必须使用该类的对象来访问它。在此之前,将类中的声明从int-battleacount=0更改为 至<代码>公共整数瓶装账户=0 。对所有瓶子都这样做。现在,您可以将其用作:

public static void main(String[] args) {

System.out.println("Please put in a valid bottle");

     bottleCount counter = new bottleCount();
    Scanner sc = new Scanner(System.in);



    while ( sc.nextInt() != -1) {

        if (sc.nextInt(char a) == getaBottle);
                counter.bottleAcount++;
    } else if (sc.nextInt(char b) == getbBottle);
                counter.bottleBcount++;
    else if (sc.nextInt(char c) == getcBottle);
                counter.bottleCcount++;
     else { throw new EmptyStackException(); 
        System.out.println("Bottle not recognized");
    }
    System.out.println("The total number of bottles is " + totalBottlecount);
    System.out.println();
    System.out.println("The total amount returned is " + sumOfBottles );
    }
    sc.close();
}

还有语句int totalBottleCount=bottleAcount-bottleBcount-BottleAccount 没有意义。它不会像你希望的那样工作。你需要写一个函数来做这个加法,然后调用它。或者,如果您希望这种情况只发生一次(我对此表示怀疑),可以将其放入构造函数中。

我建议你在继续之前复习一下和变量声明概念

郑旭
2023-03-14

所以如果这就是所有的代码,那么还有很多问题,我可以在一开始推荐什么——回到一些基本的Java编程课程。

让我们看一下第一行:

if(sc.nextInt(char a)=getaBottle)

  • 首先,它是一个条件,您将getaBottle的值分配给sc.nextInt(char a)
  • 其次,nextInt(char a)看起来像方法声明,而不像方法调用
  • 第三,getaBottle之前从未声明过
  • 第四,您在一个类中有一个getaBottle()方法,您可能想使用它来代替getaBottle,后者是(应该)变量

...等等等等。

这段代码甚至不是有效的Java代码。在这个问题上很难帮助你,你只需要多学一点,我鼓励你这样做。

祝你好运,如果有什么特别的问题,来问吧!

仲涵亮
2023-03-14
int bottleAcount++;

在java中,需要声明局部变量,如

typename=初始值;

然后对其进行任何操作,比如递增或递减。

在你的例子中,把while循环之前的变量用0作为初始值

int  bottleAcount = 0;

然后在里面,当它增加1时,像瓶盖;

或者

bottleAcount += 1;
 类似资料:
  • 作为我的第一个Java项目,我正在尝试制作一个定位不同城市的小程序。 我想从“City”类访问我的类“GPS”的变量,但我一直遇到这样的错误:作业的左侧必须是变量。任何人都可以向我解释我在这里做错了什么,以及今后如何避免这种错误? (我想把变量作为私有) 这个类“City”应该有坐标:

  • 我在想为什么会这样。我的其他项目工作完美,但这一个不行。

  • 问题内容: 这个问题源于-其他解包概述,据我所知,它存在于Python 3.5中(并且没有反向移植到)。具体来说,在“ 缺点 ”部分中,注意以下几点: 虽然原因是一, ,原因是一个。这样做的原因可能会使不熟悉该结构的人感到困惑。 对于第一种情况,确实确实存在: 在第二种情况下,创建了: 不熟悉这个概念,我很困惑。谁能解释这种行为?加星标的表情是否会根据其所在的侧面而有所不同? 问题答案: 当还考虑

  • 本文向大家介绍深入解析Python中的变量和赋值运算符,包括了深入解析Python中的变量和赋值运算符的使用技巧和注意事项,需要的朋友参考一下 Python 变量类型 变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。 因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。 变量赋值 Py

  • 我得到了下面的Navbar。我想让它做的是: 向下滚动时出现 再次向上滚动时离开视图(到定义的数量) 用箭头“关闭”导航条,使其变小 在“关闭”后“重新打开”导航栏 在任何时候,我仍然希望navbar在滚动到顶部时隐藏。无论它是扩展还是压缩 这不起作用,因为我的切换navbar的代码将为设置内联值,这是类中需要的,以便在向上滚动时隐藏它 所以,除了我的代码有什么问题之外,真正的问题是: 有没有办法

  • 1.日期时间的转换及赋值 1.1.date类型转换为字符串 justep.Date.toString(new Date(), justep.Date.STANDART_FORMAT_SHOT) 4种时间格式常量: justep.Date.DEFAULT_FORMAT 时间格式常量 = “yyyy/MM/dd hh:mm:ss” justep.Date.DEFAULT_FORMAT_SHOT 时