Java 任意元素加倍';s小于controlValue的值。例如:如果controlValue=10,那么数据点={2,12,9,20}变为{4,12,18,20}

Java 任意元素加倍';s小于controlValue的值。例如:如果controlValue=10,那么数据点={2,12,9,20}变为{4,12,18,20},java,Java,嗨,有人能解释一下我在这个问题上做错了什么吗。对于我的一个输出,我得到的是4,12,9,20,而不是4,12,18,20 import java.util.Scanner; public class StudentScores { public static void main (String [] args) { Scanner scnr = new Scanner(System.in); final int NUM_POINTS = 4;

嗨,有人能解释一下我在这个问题上做错了什么吗。对于我的一个输出,我得到的是4,12,9,20,而不是4,12,18,20

import java.util.Scanner;
public class StudentScores {
    public static void main (String [] args) {
        Scanner scnr = new Scanner(System.in);
        final int NUM_POINTS = 4;
        int[] dataPoints = new int[NUM_POINTS];
        int controlValue;
        int i;

        controlValue = scnr.nextInt();

        for (i = 0; i < dataPoints.length; ++i) {
            dataPoints[i] = scnr.nextInt();
        }
        //my solution//
        controlValue = 10;
        for (i = 0; dataPoints[i] < NUM_POINTS ; ++i) {
            if(dataPoints[i] < controlValue) {
                dataPoints[i] = dataPoints[i] * 2;
            }
        }

        for (i = 0; i < dataPoints.length; ++i) {
            System.out.print(dataPoints[i] + " ");
        }
        System.out.println();
    }
}
import java.util.Scanner;
公开课学生成绩{
公共静态void main(字符串[]args){
扫描仪scnr=新扫描仪(System.in);
最终整数点=4;
int[]数据点=新的int[NUM_点];
int控制值;
int i;
controlValue=scnr.nextInt();
对于(i=0;i
行:

for (i = 0; dataPoints[i] < NUM_POINTS ; ++i) {
for(i=0;数据点[i]
实际上应该是:

for (i = 0; i < NUM_POINTS ; ++i) {
for(i=0;i
即:您不希望检查元素
dataPoints[I]
是否小于
NUM\u POINTS
,但仅当索引
I
本身较小时才进行检查。

行:

for (i = 0; dataPoints[i] < NUM_POINTS ; ++i) {
for(i=0;数据点[i]
实际上应该是:

for (i = 0; i < NUM_POINTS ; ++i) {
for(i=0;i

即:您不想检查元素
dataPoints[I]
是否小于
NUM\u POINTS
,但仅当索引
I
本身较小时才进行检查。

您是否尝试过使用调试器?甚至打印数组中的元素(以及控制值)在此之前,您的解决方案可能会让您了解代码的功能。顺便说一句:您似乎总是使用
10
覆盖
controlValue
,这可能不是您想要的
dataPoints[i]
看起来不正确。您应该使用数据点的长度,您尝试使用调试器?或者甚至打印数组中的元素(以及控制值)在此之前,您的解决方案可能会让您了解代码的功能。顺便说一句:您似乎总是使用
10
覆盖
controlValue
,这可能不是您想要的
dataPoints[i]
看起来不正确。您应该使用数据点的长度