Java 任意元素加倍';s小于controlValue的值。例如:如果controlValue=10,那么数据点={2,12,9,20}变为{4,12,18,20}
嗨,有人能解释一下我在这个问题上做错了什么吗。对于我的一个输出,我得到的是4,12,9,20,而不是4,12,18,20Java 任意元素加倍';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;
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]
看起来不正确。您应该使用数据点的长度