更改Array Java中的值

时间:2015-12-08 20:38:49

标签: java arrays type-conversion

用户输入一个数字,例如10位数的1234569775。数字上的数字值为X,这意味着它等于数字10所以我写了我的代码

    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值不会改变,我尝试制作一个新的数组并且不会做任何改变 最后我想将这个String数组中的所有值更改为Integer,这样我就可以对它们进行任何数学运算 所以我想要

  1. 将X的值更改为10
  2. 将数组值更改为Integer
  3. 我怎么能用Java做到这一点?

2 个答案:

答案 0 :(得分: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 :(得分:-1)

在java中,无法使用“==”

比较字符串

尝试:

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

我知道这很令人困惑,因为在许多其他编程语言中,double =可以比较字符串,但在Java中也是不可能的。

编辑:比较字符串忽略大小写,请使用

string1.equalsIgnoreCase(string2)

也有可能:

if(string.equals("X"))

所以在你的情况下,使用

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