Java 试图显示用户从数组中输入的数字
现在我查看了许多其他问题,以找到与我类似的问题,但由于某些原因,我不知道如何获取用户在计算平均值时输入的数组。如果有一个类似于我的问题,请给我一个链接,我可以参考它。非常感谢你。我想让它显示: “请输入5个整数:25 43 12 5 7” “您已输入:25431257,平均值为”Java 试图显示用户从数组中输入的数字,java,arrays,double,average,user-input,Java,Arrays,Double,Average,User Input,现在我查看了许多其他问题,以找到与我类似的问题,但由于某些原因,我不知道如何获取用户在计算平均值时输入的数组。如果有一个类似于我的问题,请给我一个链接,我可以参考它。非常感谢你。我想让它显示: “请输入5个整数:25 43 12 5 7” “您已输入:25431257,平均值为” 公共类CalcAvg{ 公共静态void main(字符串[]args){ double[]userinput=getArrayInfo(); 双平均值=CalculateAvg(用户输入); getAvg(用户输入,
公共类CalcAvg{
公共静态void main(字符串[]args){
double[]userinput=getArrayInfo();
双平均值=CalculateAvg(用户输入);
getAvg(用户输入,平均值);
}
公共静态双[]getArrayInfo(){
扫描仪输入=新扫描仪(系统输入);
最终int NUM_元素=5;
double[]用户输入=新的double[NUM_元素];
int i=0;
System.out.println(“请输入5个整数:”);
对于(i=0;i
若要生成以所需方式显示数组的字符串,可能需要创建一个方法来执行所有字符串操作(而不是重复代码)。通过使用for循环迭代数组,使用StringBuilder
创建String
public String arrayToString(double[] input) {
StringBuilder builder = new StringBuilder(); // declare this outside of the loop
for (double dub : input) {
builder.append(dub + " ");
}
return builder.toString().trim(); // get rid of trailing spaces
}
然后,为了实现这一点,将行System.out.println(“数字的平均值”+userinput+“是”+average)
更改为System.out.println(“数字的平均值”+arrayToString(userinput)+“是”+average)
此外,按照命名约定,CalculateAvg()
,将是CalculateAvg()
。您还可以使用带有int x:userinput
的“增强for循环”来迭代for循环,而不是使用当前使用的计数变量。所有类都继承自对象,因此有一个toString()方法。当您尝试打印数组时,它会调用toString()方法,该方法返回对象的类名表示形式,然后在“@”后面加上其哈希代码
解决办法是:
System.out.println(java.util.Arrays.toString(arr));
或者循环遍历元素以逐个打印。可能会帮助您:^是的,但打印Java数组(array.toString(array)
)的最简单方法是使用逗号和括号,而不是他想要的数组格式。
System.out.println(java.util.Arrays.toString(arr));