问一个简单的java小程序
题目是让用户一次性输入1到10个数字比如78982198这是四个数字然后计算平均值难点在于如果一次输入一个数字然后重新问然后再输入我会写但是像这种一次性把数据输入完然后统...
题目是让用户一次性输入1到10个数字 比如78 98 2 198 这是四个数字
然后计算平均值
难点在于 如果一次输入一个数字然后 重新问然后再输入 我会写
但是像这种一次性把数据输入完 然后统计 计算 就不会了 而且用户输入几个也是随机的
需要用loop去完成这道题么?
int sum = 0, num1, count = 0;
double average;
Scanner scan = new Scanner(System.in);
System.out.println("Enter up to 10 numbers to average: ");
do
{
num1 = scan.nextInt();
sum += num1;
count++;
}while (num1 == 0)
average = sum / count;
System.out.println("Avarage = " + average + "and" + sum + "a" + count);
越简单 越好 我刚学1个月 太难的命令我也看不懂。。
多谢各位大神百忙之中抽空 帮我了 展开
然后计算平均值
难点在于 如果一次输入一个数字然后 重新问然后再输入 我会写
但是像这种一次性把数据输入完 然后统计 计算 就不会了 而且用户输入几个也是随机的
需要用loop去完成这道题么?
int sum = 0, num1, count = 0;
double average;
Scanner scan = new Scanner(System.in);
System.out.println("Enter up to 10 numbers to average: ");
do
{
num1 = scan.nextInt();
sum += num1;
count++;
}while (num1 == 0)
average = sum / count;
System.out.println("Avarage = " + average + "and" + sum + "a" + count);
越简单 越好 我刚学1个月 太难的命令我也看不懂。。
多谢各位大神百忙之中抽空 帮我了 展开
2个回答
展开全部
public class Demo {
public static void method(){
System.out.println("请输入多个数值,用空格间隔");
Scanner sc=new Scanner(System.in);
String line=sc.nextLine();//接收输入,Enter结束
String[] nums=line.split(" ");//以空格把输入的分割开
int n=0,quantity=0;;
double sum=0;
while(n<nums.length){
if(nums[n]==null || nums[n].length()==0){/*防止输入多个空格*/
n++;
continue;
}
double num=Double.valueOf(nums[n]);//字符串转化为double
n++;
quantity++;//统计输入数字数量
sum+=num;//计算和
}
System.out.println("输入为:"+line);
System.out.println("共"+quantity+"个数");
System.out.println("和为"+sum);
System.out.println("平均数为"+sum/quantity);
}
public static void main(String args[]){
method();
}
}
效果1:
请输入多个数值,用空格间隔
1.2 6 8 1.2 99 20
输入为:1.2 6 8 1.2 99 20
共6个数
和为135.4
平均数为22.566666666666666
效果2:
请输入多个数值,用空格间隔
1 2 3 88 5
输入为:1 2 3 88 5
共5个数
和为99.0
平均数为19.8
这代码还不够简单吗??
追问
简单 多谢 很详细 马上采纳 我刚才花了很长时间看。。
展开全部
可以用字符串处理程序去处理。。。。输入字符串之间用空格间隔的话 代码如下
public static void main(String[] args)
{
String num="12 3 3 5";
String temp[]=num.split(" ");//将字符串以空格分隔
double avg=0;
int sum_of_all=0;
for(int i=0;i<temp.length;i++)
{
System.out.println(temp[i]);
sum_of_all=sum_of_all+Integer.parseInt(temp[i]);
}
avg=(double)sum_of_all/temp.length;//强制转换为double,增加准确性
System.out.println(avg);
}
public static void main(String[] args)
{
String num="12 3 3 5";
String temp[]=num.split(" ");//将字符串以空格分隔
double avg=0;
int sum_of_all=0;
for(int i=0;i<temp.length;i++)
{
System.out.println(temp[i]);
sum_of_all=sum_of_all+Integer.parseInt(temp[i]);
}
avg=(double)sum_of_all/temp.length;//强制转换为double,增加准确性
System.out.println(avg);
}
更多追问追答
追问
那些数字要老师去输入 要用到scanner
程序出来大概是这样的
请输入最多10个数字:89 23 78 (这里是老师检测程序对错时输入的)
平均值:***
追答
import java.util.Scanner;
public class Test {
/**
* @param args
*/
public static void main(String[] args)
{
System.out.print("请输入最多10个数字:");
Scanner sc=new Scanner(System.in);
String num=sc.nextLine();
String temp[]=num.split(" ");
double avg=0;
int sum_of_all=0;
for(int i=0;i<temp.length;i++)
{
sum_of_all=sum_of_all+Integer.parseInt(temp[i]);
}
avg=(double)sum_of_all/temp.length;
System.out.println("平均值:"+avg);
}
}
注意输入数据时候要用空格隔开!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询