2017-03-17 70 views
0

我只是好奇,如果有一種簡單的方法來將輸入到下面的程序中的整數或數字轉換爲字母或字符而不做大的改變或重寫程序。以下是我有:簡單的方法將所有int轉換爲char?

import java.util.Scanner; 
public class SLP4 { 

    public int find(final int[] data, final int key) { 
     for (int i = 0; i < data.length; ++i) { 
      if (data[i] > key) 
       return -1; 
      else if (data[i] == key) 
       return i; 
     } 
     return -1; 

    } 

    public static void main(String[] args) { 
     final int arr[] = new int[10]; 
     System.out.println("Enter 10 numbers"); 
     Scanner input = new Scanner(System.in); 
     for (int i = 0; i < arr.length; i++) { 
      arr[i] = input.nextInt(); 
     } 
     SLP4 search = new SLP4(); 
     System.out.print("Enter the number to find its place: "); 
     int num = input.nextInt(); 
     int n = search.find(arr, num); 
     if ((n >= 0) && (n < arr.length)) { 
      System.out.println("Found at element: " + n); 
     } else { 
      System.out.println("Not Found"); 
     } 
    } 
} 
+0

爲什麼不使用'TOS tring()'方法? –

+1

你想改變哪個部分? – shmosel

+0

而不是排序數字或整數排序字母。這是一個完整的程序重寫嗎?我在學習 –

回答

0

改變你的find方法

public int find(final char[] data, final char key) { 
    for (int i = 0; i < data.length; ++i) { 
     if (data[i] == key) 
      return i; 
    } 
    return -1; 

} 

和輸入作爲

final char arr[] = new char[10]; 
    System.out.println("Enter 10 chars"); 
    Scanner input = new Scanner(System.in); 
    for (int i = 0; i < arr.length; i++) { 
     arr[i] = ((String) input.next()).charAt(0); 
     } 

    System.out.print("Enter the number to find its place: "); 
    char num=((String) input.next()).charAt(0); 
    int n = search.find(arr, num); 
    if ((n >= 0) && (n < arr.length)) { 
     System.out.println("Found at element: " + n); 
    } else { 
     System.out.println("Not Found"); 
    } 

編輯

假設輸入將使Enter按下每個字符輸入後

+0

是的,這工作非常好,5分鐘左右重寫。只需要添加 SLP4 search = new SLP4(); –

+0

是的,對不起,我的課程命名不同,所以我忘了添加 –

+0

沒問題,這工作得很好,謝謝幫助我。 –

0

您可以用空的String串連的int

int numberVar = 0; //example value 
String convertedInt = "" + numberVar; 

這將轉數爲String。爲了扭轉,所有你需要做的是

int shortcut = Integer.parseInt(convertedInt, 10); //shortcut == numberVar 

我已經解釋你的問題是想要把一個intString,雖然你用這個詞字符,所以更多的解釋是可能的。

+0

有人可以解釋爲什麼這是downvoted?或者,這只是讓新用戶脫離社區的非官方欺騙的一部分? – GameGibu

+0

您是否閱讀過該問題和意見 - 您的答案如何提供解決方案?如果您對這個問題不確定,請尋求澄清 –

+0

@ScaryWombat在我提交答案後出現這些評論。你對這個問題的解釋與我所做的有點不同,我不明白這是如何保證一個downvote。 – GameGibu