所以我的问题是,我是否试图让用户将10个值输入到数组中,然后打印出数组并说出用户输入某个值的次数。我对阵列有点新意,我不太了解它们,如果有人可以帮助我,那将会很酷。到目前为止,这是我的代码:
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner scan = new Scanner (System.in);
double[] number = new double[10];
// User input
System.out.println("Enter in 10 numbers");
for (int index = 0; index < number.length; index++) {
number[index] = scan.nextInt();
System.out.println(number[index]);
}
}
答案 0 :(得分:0)
您希望用户输入什么?字符串,整数,实数,还有什么?
您声明了一个类型为double
的数组,但是在循环中,您将扫描整数。如果double
值符合您的预期(我将假设),那么这将导致错误。您应该使用scan.nextDouble()
代替。这应该解决你的部分问题。
另一部分是弄清楚用户输入特定值的次数&#34;。这个价值是多少?它是固定的还是你收到它作为输入?您需要在某处存储此特定值,然后在循环中,您需要检查当前提供的值是否与您要注意的特殊值相匹配。每次用户输入此特殊值时,您需要递增计数器变量并将其打印出来。
否则,就数组操作而言,您的代码是正确的。你想存储10个数字,你声明一个大小为10的数组,你循环10次以获得一个数字并将其保存在数组中。
答案 1 :(得分:0)
我不确定你想要达到的目的但也许这对你有帮助。
import java.util.Scanner;
import static java.lang.System.out;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int[] number = new int[10];
int numberToSearchFor;
int findings = 0;
//User input
out.println("Enter in 10 numbers");
for(int index = 0; index < number.length; index++){
number[index] = scan.nextInt();
}
printArray(number);
out.println("Enter the number to search for:");
numberToSearchFor = scan.nextInt();
for(int index = 0; index < number.length; index++) {
if(number[index] == numberToSearchFor) {
findings++;
}
}
out.println(numberToSearchFor + " was found " + findings + " times");
}
private static void printArray(int[] number) {
out.print("[");
for(int index = 0; index < number.length; index++){
out.print(number[index]);
if(index<number.length-1) {
out.print(",");
}
}
out.println("]");
}
}
这是一个例子:
Enter in 10 numbers
2
3
4
3
2
2
3
2
3
4
[2,3,4,3,2,2,3,2,3,4]
Enter the number to search for:
2
2 was found 4 times