java表达式的非法启动
我知道这对某些人来说非常简单,我不明白为什么编译器会抱怨这一点。我一直在寻找一些答案,我能找到的只是一个括号问题,但我不认为这是我的问题。我是Java新手,所以任何帮助都会很棒。这是应该是一个基本累加器程序的代码java表达式的非法启动,java,compiler-construction,Java,Compiler Construction,我知道这对某些人来说非常简单,我不明白为什么编译器会抱怨这一点。我一直在寻找一些答案,我能找到的只是一个括号问题,但我不认为这是我的问题。我是Java新手,所以任何帮助都会很棒。这是应该是一个基本累加器程序的代码 public class BasicAccumulator implements Accumulator { { private int digit; private int value; } public int basicAccumulator(in
public class BasicAccumulator implements Accumulator {
{
private int digit;
private int value;
}
public int basicAccumulator(int digit, int value)
{
digit = 0;
value = 0;
}
public void addDigit(int digit);
{
digit = digit + value;
}
public void plus();
{
value = digit + digit;
}
public void minus();
{
value = digit - digit;
}
public void clear();
{
value = 0;
}
public int displayValue();
{
return value;
}
}
去掉分号。应该是:
public void plus()
{ ...
}
public void plus();
public void minus();
public void clear();
public int displayValue();
同样适用于displayValue()
、减号()、清除()。应该是:
public void plus()
{ ...
}
public void plus();
public void minus();
public void clear();
public int displayValue();
代码中的上述行是错误。
public void plus();
{
value = digit + digit;
}
就这样吧
public void plus()
{
value = digit + digit;
}
对其余的方法执行此操作。…在函数addDigit、plus、减号、clear和下面两个签名之后,这些分号在做什么?移除它们。这将完成任务您发布的代码有三个问题
abstract
)时,才可以使用它数字
和值
。拆下它们周围的支架public-int-basicacumulator
,但它应该是public-basicacumulator
。另外,注意区分大小写public class BasicAccumulator implements Accumulator {
private int digit;
private int value;
public BasicAccumulator(int digit, int value) {
digit = 0;
value = 0;
}
public void addDigit(int digit) {
digit = digit + value;
}
public void plus() {
value = digit + digit;
}
public void minus() {
value = digit - digit;
}
public void clear() {
value = 0;
}
public int displayValue() {
return value;
}
}
我将直接在您的代码中发布我的评论:
public class BasicAccumulator implements Accumulator {
//I'd delete this brackets and leave just the private declarations initialized
//in zero.
{
private int digit;
private int value;
}
//I'm making this an initializing constructor by using the parameters
//it defines. If you want both digit and value to be set to 0 (or any other value
//by default) you can make a no argument constructor and invoke it.
public BasicAccumulator(int digit, int value)
{
this.digit = digit;
this.value = value;
}
public void addDigit(int digit); //This semicolon is wrong. Delete it.
{
digit = digit + value;
}
public void plus(); //This semicolon is wrong. Delete it.
{
value = digit + digit;
}
public void minus(); //This semicolon is wrong. Delete it.
{
value = digit - digit;
}
public void clear(); //This semicolon is wrong. Delete it.
{
value = 0;
}
public int displayValue(); //This semicolon is wrong. Delete it.
{
return value;
}
}
我不知道这是一个例子还是什么,但是逻辑也有一些问题,但是我将把这些问题留给你(特别是
减号方法,因为它总是将值设置为0)。它说在第8行和第9行有一个错误,“表达式的非法开始”两个int字段周围的括号的意图是什么,数字和值?这在这类语言中是一种常见的新手错误。我+1谢谢你的提问,尽管显然有人不同意并投了反对票。在这种情况下,任何有经验的程序员都会立即识别错误,但新手可能会花费大量时间忽略它。问和学比不问和默默忍受要好得多。谢谢大家,我很感激@EricSage:如果答案对你有帮助,别忘了点击答案旁边的勾号来接受它。所以我删除了这些,它仍然会吐出同样的错误。有什么想法吗?你在用IDE吗?您保存更改了吗?发布准确的消息。如果您没有将任何内容返回到公共无效基本累积器(int-digit,int-value)
,您还需要更改公共基本累积器(int-digit,int-value)
,但我真正的猜测是,您的意思是它是一个构造函数,所以它应该是公共基本累积器(int-digit,int-value)
。