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)は得られませんが、連続して1つの数字しか得られません。

4

4 に答える 4

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

コード内のコメントを参照してください。

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 に答える