2015-12-08 2 views
-3

Пользователь вводит такой номер, как 1234569775 из 10 цифр. может по из цифр имеет значение 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 не меняется, и я пытаюсь сделать новый массив и не вносить изменения тоже
последнее, что я хочу, чтобы изменить этот массив строк все значения в этом Integer, так что я могу сделать любую математическую операцию на них так что я хочу

  1. изменить значение X на 10
  2. изменить значения массива в Integer

Как я могу это сделать на Java?

+0

это не меняет значение х тоже я попробовать прямо сейчас –

+0

хорошо работают, что о массиве изменений в целое –

+0

IAM жаль, что я действительно не знаю, этот момент я начать java только с 2-х дней, и я не знаю этого момента. –

ответ

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[] и анализировать каждый String с помощью Integer.parseInt.

Или, если вы работаете в Java 8:

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

В Java это не представляется возможным сравнивать строки, используя «==»

Try:

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

Я знаю, что тот сбивает с толку, как и во многих других языках программирования с двойным = может сравнивать строки, но снова в Java, что невозможно.

Edit: для сравнения строк, игнорируя нижний и верхний регистр, используйте

string1.equalsIgnoreCase(string2) 

Thats также возможно:

if(string.equals("X")) 

Так что в вашем случае использовать

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

Спасибо, пожалуйста, последнее, что я хочу изменить массив на целое все значение в нем, пожалуйста, iam biggner, и я не знаю, в этом вопросе i java, поскольку я работаю в python и C++ this new –

+0

okay it works Я хочу изменить значение массива на целое число и спасибо –

+0

Чтобы сделать int из строки, используйте Integer.parseInt (string_or_array_value) – infinitecode