我试图找到第一次在数组中出现某个值并增加它。 然后在相同位置的字符串数组中输入名称。
例如,我有array = {2, 1, 0, 0}
和string array = {null, null, null, null}
。
我要做的是检查数组是否为零,如果找到一个,则将其值增加1并在相应的字符串数组中输入一个名称。因此,如果零位于int数组的第3个位置,则用户可以在字符串数组中的第3个位置输入名称。
如果我再次调用该方法,它将使用以下零。任何建议我如何能做到这一点将不胜感激!
答案 0 :(得分:2)
您可以尝试:java.util.Arrays.asList(theArray).indexOf(0)
通过这种方式,您可以找到0的位置,然后将其用于您的目的
答案 1 :(得分:2)
你会这样做:
Scanner s = new Scanner(System.in);
for (int i = 0; i <= array1.length; i++) {
if (array1[i] == 0) {
array1[i]++;
String str = s.nextLine();
array2[i] = str;
}
}
或者如果您想使用JOptionPane
,则会将Scanner
行替换为String str = JOptionPane.showInputDialog(null, "Enter A String");
。
答案 2 :(得分:1)
您可以尝试这样的事情:
int index = 0;
for(int i = 0; i < arrayNumbers.size; i++){
if(arrayNumbers[i] == 0){
index = i;
break;
}
}
arrayNames[index] = newName;
答案 3 :(得分:0)
下面的类创建了您提供的两个数组。在运行时,程序检查整数数组array1中的零。如果它找到零,则将其递增1。然后使用该元素的索引来修改String数组array2。你在运行时决定了刺痛是什么。
public class FindValue {
private int[] array1 = { 2, 1, 0, 0 };
private String[] array2 = { null, null, null, null };
public void checkStuff() {
for (int i = 0; i < array1.length; i++) {
if (array1[i] == 0) {
array1[i]++;
System.out.println("Enter string: ");
Scanner s = new Scanner(System.in);
String inputstr = s.nextLine();
array2[i] = inputstr;
}
}
}
public void getIntArray(){
for (int i = 0; i < array1.length; i++) {
System.out.println(array1[i]);
}
}
public void getStrArray(){
for (int i = 0; i < array2.length; i++) {
System.out.println(array2[i]);
}
}
public static void main(String[] args) {
FindValue here = new FindValue();
here.checkStuff();
here.getIntArray();
here.getStrArray();
}
}