0
public class practice extends ConsoleProgram {

    public static int max(int num1, int num2) {
        int result;

        if (num1 > num2)
            result = num1;
        else 
            result = num2;  

        return result;     
    }  

    public void run () {     
        for (int i = 0; i<=10; i+=2){
            for (int j = 1; j < 10; j*=2) {   
                println( max(i,j));
            }
        }
    }
}

这段代码有什么问题吗?当我运行它时,我没有得到任何最大值(i,j),而是连续只有一个数字。

4

4 回答 4

0

查看代码中的注释:

public class practice extends ConsoleProgram {

    public static int max(int num1, int num2) {
        int result;

        if (num1 > num2) 
            result = num1;
        else 
            result = num2;  

        return result;     
    }  

    public void run () {     
        for (int i = 0; i<=10; i+=2){
            for (int j = 1; j < 10; j*=2) {   
                System.out.println( max(i,j)); // instead of println() unless static import
            }
        }
    }
}

测试它:http: //ideone.com/YNXsKA

于 2013-09-27T08:08:54.783 回答
0

您不必编写自己的max(). 重写由无数程序员测试的库方法不是一个好习惯,你很容易在自己的实现中出错。这有效

class Ideone
{
    public static void main (String[] args)
    {
        for (int i = 0; i <= 10; i += 2)
        {
            for (int j = 1; j < 10; j *= 2)
            {
                System.out.println(Math.max(i,j));
            }
        }
    }
}
于 2013-09-27T08:10:58.847 回答
0

我做的和普通的java程序一样

package com;

public class TestRun {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        for (int i = 0; i<=10; i+=2){
            for (int j = 1; j < 10; j*=2) {   
                System.out.println( max(i,j));
            }
        }

    }
     public static int max(int num1, int num2) {
            int result;
            if (num1 > num2)
                result = num1;
            else 
                result = num2;  
            return result;     
        }  
}

我得到的输出是

1 2 4 8 2 2 4 8 4 4 4 8 6 6 6 8 8 8 8 8 10 10 10 10

这是你所期待的吗??

于 2013-09-27T08:11:45.510 回答
0

“我实际上期待看到 max (i, j) 并且我意识到我做错了..”

如果要编写字符串,则必须在引号中使用它,例如:

System.out.println("max(i,j)");
于 2013-09-27T08:41:38.810 回答