我开始盲目地看着我的代码,我的大脑即将过热。在编程时我是新手。
public class RecyclingSystem {
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();
}
}}
public class Bottle {
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;
}
public class EmptyStackException扩展Exception {
}
public class bottleCount {
int bottleAcount = 0;
int bottleBcount = 0;
int bottleCcount = 0;
int totalBottleCount = bottleAcount + bottleBcount + bottleCcount;
}
我有getbottle,totalBottlecount和bottlecount变量的单独类。
我想制作一个基于用户输入的回收系统模拟器,如果有意义的话,有3种不同类型的瓶子,它们被分配不同的值,总瓶数和3种瓶子类型的总和结合。
我遇到了几个编译器错误,我花了两个小时试图解决所有这些错误,但每次我都会发生新错误,现在我得到了一个“编码器阻塞”。
我被要求删除++令牌,编译器无法解析我的变量和语法错误。我真的很感激一些见解,因为我只有~3周的java编程。
更新:编译器错误精确复制意大利面
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
答案 0 :(得分:0)
int bottleAcount++;
在java中,你需要声明像
这样的局部变量 type
name
=初始值;
然后对此进行任何操作,如增量或减量。
在你的情况下,在使用zero
作为初始值的循环之前声明变量,如
int bottleAcount = 0;
然后在里面,然后将它增加1,如bottleAcount++;
或
bottleAcount += 1;
答案 1 :(得分:0)
所以...如果这是所有的代码,那么有很多问题,我可以在开始时推荐什么 - 回到一些基本的Java编程课程。
让我们看一下第一行:
if (sc.nextInt(char a) = getaBottle);
sc.nextInt(char a)
分配 getaBottle的值。 nextInt(char a)
看起来像方法声明,而不是方法调用。getaBottle()
类中有一个Bottle
方法,您可能希望使用它而不是getaBottle
,它应该是一个变量......等等。
此代码甚至不是有效的Java代码。在这个问题中,你很难以某种方式帮助你,你只需要学习更多,我鼓励你这样做。
祝你好运,如遇特定的问题 - 请来询问!
答案 2 :(得分:0)
else if { (sc.nextInt(char b) = getbBottle);
int bottleBcount++;
}
使用==
而非=
来检查if.Also条件是完全错误的。它应该是:
else if (sc.nextInt(char b) == getbBottle);
int bottleBcount++;
你也不能int bottleBcount++
。它毫无意义。由于您已在另一个类中声明了bottleBcount
,因此必须使用该类的对象来访问它。在此之前,将类中的声明从int bottleAcount = 0;
更改为public int bottleAcount = 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 + bottleCcount;
也没有意义。它不会像你想要的那样工作。您需要编写一个函数来执行此添加,然后调用它。或者,如果您希望这只发生一次(我怀疑),您可以将它放在构造函数中。
我建议你在继续之前了解class
和变量声明概念
答案 3 :(得分:0)
你刚才遇到问题:
else {
throw new EmptyStackException();
System.out.println("Bottle not recognized");
}
检查正确的语法并解决错误。