用户输入一个数字,例如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,这样我就可以对它们进行任何数学运算 所以我想要
我怎么能用Java做到这一点?
答案 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")