Java程序中的输出不正确

Java程序中的输出不正确,java,Java,这是问题的描述,下面是我得到的代码: PP 10.1设计并实现一个程序,从 用户输入并打印其平均值。将每个输入值作为字符串读取,然后 尝试使用integer.parseInt方法将其转换为整数。如果这个过程 抛出NumberFormatException(表示输入不是有效数字), 打印相应的错误消息并再次提示输入号码。持续 读取值,直到输入10个有效整数 这是我目前掌握的代码: import java.util.Scanner; public class average { private

这是问题的描述,下面是我得到的代码:

PP 10.1设计并实现一个程序,从 用户输入并打印其平均值。将每个输入值作为字符串读取,然后 尝试使用integer.parseInt方法将其转换为整数。如果这个过程 抛出NumberFormatException(表示输入不是有效数字), 打印相应的错误消息并再次提示输入号码。持续 读取值,直到输入10个有效整数

这是我目前掌握的代码:

import java.util.Scanner;

public class average 
{
private int number_values;
private int[] int_values;
private double average;

public average(int number_values)
    {
    this.number_values = number_values;
    }
public void values()
    {
    String value_string = null;
    int int_value = 0,a;
    Scanner number = null;
    a = 0;
    int_values = new int [number_values];

while (a < number_values)
    {
    try{
        number = new Scanner(System.in);
        System.out.print("Please enter a value:");

        value_string = number.nextLine();

        int_value = Integer.parseInt(value_string);

        int_values[a++] = int_value;
        } 
    catch (NumberFormatException ex)
            {
            System.out.print("This is an invalid input. Please renter another number:");
            continue;
            }
    }
}
public void printValues()
{
System.out.println("The values are:");

    for (int a = 0; a < number_values; a++)
    {
        System.out.println("Number - " + (a + 1) + " = " + int_values);

    }
}
public double get_average()
{
int sum = 0;

for(int a = 0; a < number_values; a++)
    {
    sum += int_values[a];
    }
average = (double) sum / number_values;
return (average);
}
public static void main(String[] args)
{
    average a = new average(10);
    a.values();
    a.printValues();
    System.out.println("Average = " + a.get_average());

}
}
import java.util.Scanner;
公共课平均分
{
私有整数_值;
私有int[]int_值;
私人双平均;
公共平均值(整数\单位值)
{
this.number\u values=number\u values;
}
公共void值()
{
字符串值\u String=null;
int_值=0,a;
扫描仪编号=空;
a=0;
int_值=新的int[数值];
while(a
当我输入一个不正确的字符时,它会说“这是一个无效的输入。请输入另一个数字:请输入一个值:”

当我显示平均值时,它表示数字-1=[I@330bedb4“对于所有的值


因此,当我输入不正确的输入时,println字符串被弄乱了,值也被弄乱了。我缺少了什么?

如果您想输出数组的特定项,请尝试
intValues[I]
。否则您将得到数组对象本身的
toString
表示


请下次在屏幕截图中发布代码;)

您不是在打印
数组的元素。您是在直接打印
数组的字符串表示形式。错误是在
printValues()
方法中完成的

要解决此问题,您必须调用数组的一个元素。在这种情况下,您要调用所有元素,因此必须使用
循环
。此处:

public void printValues()
{
System.out.println("The values are:");

    for (int a = 0; a < number_values; a++)
    {
        System.out.println("Number - " + (a + 1) + " = " + int_values[i]);

    }
}
public void printValues()
{
System.out.println(“值为:”);
对于(int a=0;a
请发布真实代码并回答(以文本形式),不要使用图像(顺便说一句,没有dv)。非常感谢。您能帮我做一件事吗?当我输入无效字符时,它会打印“这是无效输入。请租用另一个号码:请输入一个值:”不应该打印“请输入值”部分。(你可以告诉我,我是Java新手,花了几个小时研究这两件事,看看我做错了什么)help@PythonWorld这是因为当异常出现时,您告诉程序继续
while
循环再次启动,并且“请输入一个值“在请求数字之前,在控制台上再次写入行。您必须在异常中引入一个新的
while
循环和一个
nextline()
,因此程序将继续重复此循环,直到用户不引入
整数类型为止。”。