【问题标题】:Declaring variable and assignment [closed]声明变量和赋值
【发布时间】:2015-04-26 09:42:13
【问题描述】:

我只是在eclispe中练习java程序,下面是代码:

import java.util.*;
class Problem7
{
    public static void main(String args[]){
int num,sum=0,mod_num,count;//Syntax error on token ";", { expected after           
                             //this token. Ques=Why?
System.out.println("Enter a 5 digit number");
try(Scanner n1 = new Scanner(System.in))
{
    num = n1.nextInt();
}
for(count = 0; count <= 4; count=count+1)
{
        mod_num = num%10;
        num=num/10;
        sum = sum+mod_num;
}
System.out.println("The sum off digits is "+sum);
}
}

================================================ ============================ 上面的代码运行正常,没有任何错误。但是,如果我想通过以下代码使用不同的类作为“类 sum_of_digits”。在我创建对象之前,它开始在“sum_of_digits”类本身中显示错误。以下是代码:

import java.util.*;
class sum_of_digits
{
int num,sum=0,mod_num,count;//Syntax error on token ";", { expected after           
                             //this token. Ques=Why?
for(count = 0; count <= 4; count=count+1)
{
        mod_num = this.num%10;
        this.num=this.num/10;
        sum = sum+mod_num;
}
System.out.println("The sum off digits is "+sum);
}

================================================ ======================== 但是,如果我在方法中包含 for 循环并进行必要的安排,那么代码可以正常工作,它运行没有错误并且我得到了想要的结果:下面是类“sum_of_digits”的新代码:

import java.util.*;
class sum_of_digits
{
int num,sum=0,mod_num,count;//Syntax error on token ";", { expected after   
                            //this token
void loop()
{
    for(count = 0; count <= 4; count=count+1)
    {
        mod_num = this.num%10;
        this.num=this.num/10;
        sum = sum+mod_num;
    }
    System.out.println("The sum off digits is "+sum);
}
}

class Problem7 
{
public static void main(String args[])
{
    sum_of_digits digit = new sum_of_digits();
    System.out.println("Enter a 5 digit number");
    try(Scanner n1 = new Scanner(System.in))
    {
        digit.num = n1.nextInt();
    }
    digit.loop();
}
}

我的问题是为什么我不能直接在“sum_of_digits”类中声明for循环?

【问题讨论】:

  • 语法错误不在此处讨论。
  • @BoristheSpider:我很确定我的问题与语法无关,下面的家伙确实告诉了我答案。所以请看一下,因为它不是语法错误。所以谢谢
  • 下面的“老兄”指出是语法错误。
  • 但我在任何地方都没有看到过,也没有人告诉我这样做不正确。所以我虽然是这样,但谢谢你提醒我,我会确保尝试所有的变化
  • @BoristheSpider:但是在 main 下它是如何工作的而不是在这里呢?

标签: java class variable-assignment variable-declaration


【解决方案1】:

类主体中有一个 for 循环。这里不允许。

class sum_of_digits
{
    int num, sum=0, mod_num, count;

    for(count = 0; count <= 4; count=count+1)
    {

    }
}

像这样的可执行语句需要在方法、构造函数或初始化块中。

class sum_of_digits
{
    int num, sum=0, mod_num, count;

    void loop() {
        for(count = 0; count <= 4; count=count+1)
        {

        }
    }
}

【讨论】:

  • @Radopdef:嗯,我没想到。感谢它现在工作。
猜你喜欢
  • 1970-01-01
  • 2023-03-13
  • 1970-01-01
  • 2012-11-03
  • 1970-01-01
  • 2016-05-04
  • 2016-01-30
  • 2020-01-08
  • 1970-01-01
相关资源
最近更新 更多