gpt4 book ai didi

java - 我该如何解决这个简单的范围界定错误?

转载 作者:行者123 更新时间:2023-11-29 03:25:49 25 4
gpt4 key购买 nike

在范围界定方面存在一些问题。我正在尝试使用一个循环编写一个程序,该循环从键盘获取代表考试成绩(0 到 100 之间)的 10 个值,并输出所有输入值的最小值、最大值和平均值。我的程序不能接受小于 0 或大于 100 的值。

import java.util.Scanner; 
import java.util.Arrays;

public class ExamBookClient
{
public static void main( String[] args)
{
Scanner scan = new Scanner(System.in);

int MAX = 100;
int MIN = 0;
int[] grades = new int[10];


System.out.println("Please enter the grades into the gradebook.");
if(scan.hasNextInt())
{
for (int i = 0; i < grades.length; i++)
{
if( x>MIN && x<MAX)
{
int x = scan.nextInt();
grades[i] = x;
}
}
}
System.out.print("The grades are " + grades.length);
}
}

我的编译器错误是我无法修复作用域错误:

    ExamBookClient.java:21: error: cannot find symbol
if( x>MIN && x<MAX)
^
symbol: variable x
location: class ExamBookClient
ExamBookClient.java:21: error: cannot find symbol
if( x>MIN && x<MAX)
^

最佳答案

要解决作用域问题,请将 x 的声明/初始化移动到首次使用之前的某个点:

int x = scan.nextInt();
if( x>MIN && x<MAX ) {
grades[i] = x;
}

你的代码有几个问题:

  • if(scan.hasNextInt()) 只会在第一次读取 int 之前执行;您应该更改代码以在循环的每次迭代中检查下一个 int
  • 您需要为当前的minmaxtotal 添加变量
  • 您不需要将值存储在数组中,因为三个标量足以计算程序所需的所有三个输出。

关于java - 我该如何解决这个简单的范围界定错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21057594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com