なぜコードが機能しないのかわかりません。基本的に私はプロジェクトオイラー#4をコーディングしようとしています。これは2桁の3桁の数字を掛け合わせることで得られる最大のパリンドローム数です。このコードは動作していないようです(コンパイルされます)。コードを実行するたびに "0"が出力されます。私はそれがアルゴリズム的に効率的ではないかもしれないことは知っていますが、何が間違っていますか?プロジェクトオイラー#4:Java
public class Palindrome {
public static void main (String [] args) {
int largestnum = 0;
Palindrome pp = new Palindrome();
for (int i = 100; i <= 999; i++) {
for (int k = 100; k <= 999; k++) {
if (pp.checkPal(i * k) == true) {
largestnum = i * k;
}
}
}
System.out.println(largestnum);
}
public boolean checkPal(int y) {
String snum = Integer.toString(y);
int snum_length = snum.length() - 1;
String palindrome = new String("");
for (int i = snum_length; i >= 0; i--) {
palindrome.concat(Character.toString(snum.charAt(i)));
}
if (snum.equals(palindrome)) {
return true;
}
else {
return false;
}
}
}
デバッガを使用するリーン、それは長期的にあなたに多くの時間を節約できます。 –
forループに 'println'文があります。 –
ああシュート。ただそれを実現しました。ありがとう。 – priya