【问题标题】:Not a statement (for loop)不是语句(for循环)
【发布时间】:2020-04-04 19:50:15
【问题描述】:

我的 Java 代码出现错误。 这是我的代码:

class Solution {
    public int divide(int dividend, int divisor) {
        int count = 1;
        int dividend1=(int)Math.abs(dividend);
        int divisor1=(int)Math.abs(divisor);
        for(int i=0;i<=dividend1;i+divisor1){
            if((i+divisor1)<=dividend1)
                count++;
            if((i+divisor1)>dividend1)
                break;
        }
        if(dividend<0 && divisor>0||divisor<0 && dividend>0){
            System.out.print("-");
            return count;
        }
        else 
            return count;
    }
}

错误显示在 for 循环中,说明如下: prog.java:6:错误:不是声明 for(int i=0;i

有什么问题?

【问题讨论】:

  • 这不会导致该错误,但您肯定想要i+=divisor1 而不是i+divisor1 或类似的东西吗? i+divisor1 一个人什么都做不了。
  • i+divisor1 不是语句,而是表达式。
  • 我的更新是这样的:我想将 i 增加到 i+divisor1。在for循环中,i应该改为i+divisor1
  • 我们经常写i++来更新for循环中的值,那我怎么写i+divisor1而不报错呢?
  • i+=divisor1 应该可以解决问题

标签: java loops for-loop


【解决方案1】:

for循环的语法错误,最后一部分必须是赋值 改变 for(int i=0;i

【讨论】:

    【解决方案2】:

    如果您想将 i 增加 divisor1 的值,请将 i+divisor1 更改为 i+=divisor1。

     public int divide(int dividend, int divisor) {
            int count = 1;
            int dividend1=(int)Math.abs(dividend);
            int divisor1=(int)Math.abs(divisor);
            for(int i=0;i<=dividend1;i+=divisor1){
                if((i+divisor1)<=dividend1)
                    count++;
                if((i+divisor1)>dividend1)
                    break;
            }
            if(dividend<0 && divisor>0||divisor<0 && dividend>0){
                System.out.print("-");
                return count;
            }
            else
                return count;
        }
    

    【讨论】:

    • 这行不通,如果要增加i,请使用+=,而不是=+。
    • 抱歉打错了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-01
    • 2013-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-06
    • 1970-01-01
    相关资源
    最近更新 更多