0

このプログラムでは、Scanner クラスを使用して 2 つの数値を入力として受け取り、それら 2 つの数値の最小公倍数を計算します。lcm メソッドが何も返さないことを除いて、すべてが機能しているようです。「break」ステートメントで何かを台無しにした可能性がありますが、while ループにネストされた if ステートメントから抜け出す他の方法を知りませんでした。もう 1 つの質問: while(True) ループの使用は良い方法ですか、それとも悪い方法ですか? 私はそれについて多くの複雑な意見を見たからです。while(True) ループに代わるより良い方法があれば、喜んでお聞きします。ありがとうございました!

// LCM Calculator
// Author: Ethan Houston
// Language: Java
// Date: 2013-12-27

import java.io.*;
import java.util.Scanner;

public class lcm {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("This is a LCM calculator\n");
        System.out.println("Enter your first number: ");
        int firstNumber = scanner.nextInt();
        System.out.println("Enter your second number: ");
        int secondNumber = scanner.nextInt();
        lcm(firstNumber, secondNumber);

    }

    public static int lcm(int one, int two) {
        int counter = Math.min(one, two);
        int initialCounter = counter;
        boolean running = true;
        while (running) {
            if (counter % one == 0 && counter % two == 0) {
                break;

            } else {
                counter += initialCounter;
            }

        }
        return counter;
    }
}
4

3 に答える 3

3

あなたは何かを返しますが、それを印刷していないだけです。ちょうど試して:

System.out.println(lcm(firstNumber, secondNumber));
于 2013-12-27T11:39:46.167 に答える
2

戻り値を出力していません

System.out.println(lcm(firstNumber, secondNumber));
于 2013-12-27T11:39:47.313 に答える