Java &引用;“表达式开头非法”;新手失误?

Java &引用;“表达式开头非法”;新手失误?,java,compiler-errors,Java,Compiler Errors,我需要知道为什么我在第18-21行出现这个错误。我觉得这可能是一个与括号有关的问题,但我想不出来 import java.util.Scanner; public class Proj4_1 { public static void main(String [] args) { Scanner reader = new Scanner(System.in); int numb1 =; int numb2 =; int div =; int rema

我需要知道为什么我在第18-21行出现这个错误。我觉得这可能是一个与括号有关的问题,但我想不出来

import java.util.Scanner;

public class Proj4_1 {

public static void main(String [] args) {
    Scanner reader = new Scanner(System.in);

    int numb1 =;
    int numb2 =; 
    int div =;
    int remainder =;

    System.out.println("Enter a number: ");
    numb1 = reader.nextint();

    System.out.print(numb1);

    System.out.println("Enter another number: ");
    numb2 = reader.nextint();

    System.out.print(numb2);

    if (numb1>numb2){
        div = numb1 / numb2;
        remainder = numb1 % numb2;
    }else{
    if (numb2>numb1) 
        div = numb2 / numb1;
        remainder = numb2 % numb2;  
    }

    System.out.println("The answer quotient is " +div+ "with a remainder of" +remainder);
如果您有任何帮助或建议,我们将不胜感激,请提前感谢

int numb1 =;
您希望初始值是多少

您可以声明变量而无需为其赋值,如下所示:

int numb1;
。。。但是如果不给出值,就不能将
=
留在那里

但是,我个人会等待声明变量,直到您准备给它一个值:

public static void main(String [] args) {
    Scanner reader = new Scanner(System.in);

    System.out.println("Enter a number: ");
    // Fixed case of nextInt as well...
    int numb1 = reader.nextInt();

    System.out.print(numb1);

    System.out.println("Enter another number: ");
    int numb2 = reader.nextInt();

    System.out.print(numb2);

    // etc
}
您不必在方法的顶部声明所有变量,如果只在您首先需要它们的地方声明它们,那么您的代码通常会更干净

编辑:还有一个不正确的
if
块:

if (numb2>numb1)
    div = numb2 / numb1;
    remainder = numb2 % numb2;  
}
你错过了开头的大括号,这意味着你实际上得到了:

if (numb2>numb1) {
    div = numb2 / numb1;
}
remainder = numb2 % numb2;  
// This closing brace is now dangling!
}
你真的是这个意思:

if (numb2 > numb1) {
    div = numb2 / numb1;
    remainder = numb2 % numb2;  
}

请注意,如果您定期编译代码,那么就不会有这么多不同的错误。一旦您得到一个编译时错误,您应该停止,确保您理解它,并修复它。这样一来,你就永远不会面临大量的问题,需要你一下子去理解。此外,您不必担心多个错误相互影响,这会使生活更加困难。

编译器错误不能同时是运行时错误。
int numb1=在我看来有点奇怪,我想这可能是你的问题所在is@LuiggiMendoza如果编译器本身崩溃了怎么办?@SamIam这意味着您可能运行的是旧版本的代码,而不是实际编译的版本。@LuiggiMendoza:那么就有可能使用Eclipse,即使代码没有编译,也可以运行它——生成的代码在到达中断位时会抛出一个异常:)我在23号和28号提示输入lines@user2267726:是的,但是您希望带有
=
的声明做什么呢?还有
if(numb2>numb1)语句1;句子2;}(无开头括号)。@LuiggiMendoza:是的,我会提到这一点。