2013-03-01 46 views
-5

我正處於初級java課程中,並且在此課程中遇到困難。我的教授給我們這個僞 - 創建的字符串sInput如何確定5位數是否是使用數組的迴文數?

// 
// prompt for input 
// 
// create char array (cArray) and assign sInput.toCharArray() 
// 
// loop to check for palindrome (set i = 0, j = sInput.length()-1, check to see if i != j; increment i, decrement j) 
//  check to see if current array values are != 
//   print not a palindrome 
//   return 
//  end of loop 

我在束手無策。感謝您的任何建議!

public static void main(String[] args) { 
while (true) { 
display(check(retrieveInput())); 
} 
} 

public static String retrieveInput() { 
Scanner scan = new Scanner(System.in); 
return scan.next(); 
} 

public static boolean check(String input) { 
boolean check = false; 
try { 
Integer.parseInt(input); 
if (input.charAt(0)==input.charAt(4) && input.charAt(1)==input.charAt(3)) 
check = true; 

} catch(Exception e) { 
check = false; 
} 

return check; 
} 

public static void display(boolean check) { 
if(check) System.out.println("Is a five-digit palindrome."); 
else System.out.println("Is not a five-digit palindrome."); 
+6

即使我們只給你的算法。嘗試一下,如果你卡住了,回到這裏。 – SudoRahul 2013-03-01 03:04:09

+0

對不起,做你自己的功課。如果/當您有一些ACTUAL代碼無法正常工作,我們可能會幫助解決該問題。但有些評論並不真正表明你自己實際上已經做過任何事情。 – 2013-03-01 03:05:38

回答

1

希望這有助於:

公共靜態無效的主要(字串[] args){

boolean notPalindrome = false; 
    String number = "25852"; 
    char[] array = number.toCharArray(); 
    for(int i=0, j=array.length-1; i<j; i++, j--) { 
     if(array[i] != array[j]) { 
      notPalindrome = true; 
      break; 
     } 
    } 
    System.out.println(number + " is palindrome? " + !notPalindrome); 
} 
+0

它非常有幫助!感謝您的貢獻。 – user2122021 2013-03-01 03:31:59

+0

+1,我不知道這是可能的,'for(int i = 0,j = array.length-1; i mre 2013-03-01 03:33:57

相關問題