2015-12-08 61 views
-3

用戶輸入一個數字,如10位數字的1234569775。可對數字有X的價值,這意味着它等於10號,所以我寫我的代碼更改數組中的值Java

Scanner in=new Scanner(System.in); 
    String a=in.next(); 
    String arr[]=new String[10]; 
    for (int i=0;i<arr.length;i++) 
    { 
     arr[i]=String.valueOf(a.charAt(i)); 
    } 
    for (int i=0;i<arr.length;i++) 
    { 
     if (arr[i]=="X") 
     { 
      arr[i]="10"; 
     } 
    } 
    System.out.println(Arrays.deepToString(arr)); 
} 

但X的它的價值不會改變,我嘗試做一個新的數組,不進行任何更改過
最後一件事我要改變這個字符串數組中的所有值到整數,所以我可以就這些 任何數學運算所以我要X到10

  • 變化

    1. 變化值數組值爲Integer

    如何在Java中執行此操作?

  • +0

    它不會改變x的值過我現在嘗試 –

    +0

    好工作怎麼樣改變陣列爲整數 –

    +0

    IAM對不起,我真的不知道這一點,我從2天開始啓動java並且我不知道這一點 –

    回答

    0

    這是怎麼了您可以將String[]變成int[]

    String[] arr = {"1","2"}; 
    int[] intArray = new int[arr.length]; 
    for (int i=0; i<arr.length; i++){ 
        intArray[i] = Integer.parseInt(arr[i]); 
    } 
    

    你基本上遍歷String[]和使用Integer.parseInt每個String解析。

    或者,如果你是在Java中工作8:

    String[] arr = {"1","2"}; 
    int[] intArray = Arrays.stream(arr).mapToInt(i -> Integer.parseInt(i)).toArray(); 
    
    -1

    在java中,不可能使用比較字符串「==」

    嘗試:

    if (firstString.equals(secondString){ 
    //code... 
    } 
    

    我知道那是令人困惑,因爲在許多其他編程語言的雙重=可以比較字符串,但再次在Java中是不可能的。

    編輯:比較字符串忽略下限和上限的情況下,使用

    string1.equalsIgnoreCase(string2) 
    

    那也是可能的:

    if(string.equals("X")) 
    

    所以你的情況,使用

    if(arr[i].equals("10") 
    
    +0

    謝謝請最後一件事情我想改變數組到整數所有的價值在這裏請大家iam biggner和我不知道這一點我的Java,因爲我在Python和C++這個新的工作 –

    +0

    好吧它我想將數組的值更改爲整數,並感謝您 –

    +0

    要從字符串中創建一個int,請使用Integer.parseInt(string_or_array_value) – infinitecode