【发布时间】:2018-03-03 07:04:04
【问题描述】:
我正在尝试找到一种方法,通过使用增强的 For 循环从扫描仪输入为数组分配值。但我没有办法做到这一点。
在下面的代码中,我声明了一个 getInput() 方法,该方法循环遍历数组并从扫描仪输入中分配数字。但是在增强的 For 循环的情况下,我真的不能使用这样的东西 -
For(int i: baseData){
//basedata[i]=scanner.nextInt()}
因为 baseData 数组在迭代时不会返回任何值,所以我想如何遍历scanner.nextInt() 并在数组中分配值,但是scanner.nextInt() 不是数组。 那么这个问题的简单解决方案是什么?
package com.ksk;
import java.util.Scanner;
public class Main {
private static Scanner scanner = new Scanner(System.in);
private static int[] baseData = new int[4];
public static void main(String[] args) {
System.out.println("Enter 4 numbers here");
getInput();
printInput();
}
static void getInput() {
for (int i = 0; i < baseData.length; i++) {
baseData[i] = scanner.nextInt();
}
}
static void printInput() {
for (int i : baseData) {
System.out.println(i);
}
}
}
【问题讨论】:
-
为什么要使用增强的for循环来赋值?
-
实际上这段代码是有效的。你想做什么
-
我知道这段代码有效。请参阅我是一名初学者 Java 程序员。我错误地认为增强的 for 循环可以替代所有场景的常规 for 循环。这就是为什么我想知道是否有一种使用增强型 For 循环的简单方法。