私はJavaを練習しており、3
の倍数または5
の倍数のいずれかである1
から999
までのすべての整数を合計するプログラムに取り組んでいます。ここでどのようにしてブール型を相対的な整数として表現できますか?
は、私がこれまでに書かれたものです:
public class MultiplesOfThreeAndFive {
public static void main(String[] args) {
//For a number to be a multiple, i % number equals 0.
MultiplesOfThreeAndFive m = new MultiplesOfThreeAndFive();
for (int i = 1; i < 1000; i++){
System.out.println(m.checkIfMult(i));
}
}
public boolean checkIfMult(int i){
return (i % 3 == 0 || i % 5 == 0);
}
}
を今、私はこれをコンパイルするとき、私が得るすべては1から999までの真であり、各番号の偽の私は、これが原因で、私の方法であることを理解します私のcheckIfMult
メソッドの戻り値の型はboolean
です。
私は本当と偽をまとめることができないので、リスト内で真と表示されている数字を取得するだけです。
EDIT:トムは言った...私は私のメインメソッドにこれを追加
で行く:
私のコンパクトなソリューションについてpublic static void main(String[] args) {
//For a number to be a multiple, i % number equals 0.
MultiplesOfThreeAndFive m = new MultiplesOfThreeAndFive();
for (int i = 1; i < 1000; i++){
System.out.println(m.checkIfMult(i));
if (m.checkIfMult(i) == true){
}
}
}
'sum'変数と' if(checkIfMult) 'チェックを使うのはどうですか?これは魔法ではありません。 – Tom
@Tom私は、真と偽をまとめることができない場合、これがどのように機能するのか分かりません。 –
あなたは 'true'または' false'を合計するつもりはない、あなたのメソッドが 'true'を返す場合は' i'を合計します。 – Tom