关于存储总数和求平均值的初学者 Java 问题
Posted
技术标签:
【中文标题】关于存储总数和求平均值的初学者 Java 问题【英文标题】:Beginner Java problem regarding storing totals and finding the average 【发布时间】:2020-07-06 04:17:25 【问题描述】:我正在学习我的第一个编码课程,但我的循环遇到了问题。我应该编写一个程序,将用户输入的特定数量和特定价格相乘,然后找到我购买的平均值。我遇到的问题是你不能拥有超过 10 件物品的数量,我不知道如何确保数量不会超过 10 在我乘以平均时我已经尝试过当被问及是否要购买其他任何东西时,最终会跳到下一行或删除初始值的循环我将在下面发布我的代码以及我们应该最终得到的示例输出,感谢任何对初学者的帮助或建议!
import java.util.Scanner;
public class Main
public static void main(String[] args)
Scanner cs=new Scanner(System.in);
System.out.println("What is the quantity of your purchase?");
double a = cs.nextDouble();
System.out.println("How much does your purchase cost?");
double b = cs.nextDouble();
System.out.println("Would you like to purchase anything else? Please type yes or no.");
double total = a*b;
avg = (Float) ((a+b/2);
System.out.println("Your total is: "+total"\nThe average of your purchase is: " + avg);
样本输出:
输入数量:3 输入价格:8.50 这将花费 25.50 美元
输入数量:12 输入错误!您一次最多只能购买 10 件商品!
输入数量:2 输入价格:5.50 这将花费 11.00 美元
输入数量:4 输入价格:3.00 这将花费 12.00 美元
您订购了 9 件商品,价格为 48.50 美元,平均每件 5.39 美元
它不一定要看起来完全像这样,但总体思路是订购各种未描述的产品,这些产品的数量和价格总计,并最终被平均。唯一的规则是数量必须保持在 10 或以下,并且我使用的是浮动变量或双精度数。再次感谢!
【问题讨论】:
你的循环在哪里,放置准确的代码并写下关于问题的清晰信息 一些代码格式可以很好地回答这个问题。 【参考方案1】:您可以将 typecast
的 double 值转换为 int,然后在某些 if
语句中使用它来查看该值是否为 < 10
,具体取决于进一步操作。
示例代码:
double total = 0.0;
double avg = 0.0;
double b = 0.0;
Scanner cs = new Scanner(System.in);
System.out.println("What is the quantity of your purchase?");
double a = cs.nextDouble();
int value = (int) a;
int i = 0;
if (value < 10)
//loop through items
for (i = 0; i < value; i++)
System.out.println("How much does your purchase cost?" + i);
b = cs.nextDouble();
//add to total
total += b;
//get avg with total no and total quantity
avg = (double)((total / value));
System.out.println("Your total is: " + total + "\nThe average of your purchase is: " + avg);
else
System.out.println("Incorrect Entry! You can only buy up to 10 items at once!");
输出:
What is the quantity of your purchase?
13
Incorrect Entry! You can only buy up to 10 items at once!
【讨论】:
这就是我所缺少的,每次我获得一个成功的循环,我都会失去我的价值。谢谢!现在我只需要弄清楚如何将整个事情循环四次并将所有四个加在一起。 只需在 if 语句中添加一个循环,即:for(i=0;i<value;i++) //your calculation
应该可以工作。而且您只需要 4 个项目的值?
您可以将此答案设置为accepted.. 如果这样可以解决您的问题【参考方案2】:
您可以将数量变量设为整数,因为数量始终是十进制数并插入 if 语句
import java.util.Scanner;
public class Main
public static void main(String[] args)
Scanner cs=new Scanner(System.in);
System.out.println("What is the quantity of your purchase?");
int qunatity = cs.nextInt();
if(a > 10)
System.out.println("Incorrect Entry! You can only buy up to 10 items at once!");
System.out.println("How much does your purchase cost?");
double cost = cs.nextDouble();
// System.out.println("Would you like to purchase anything else? Please type yes or no.");
double total = a*b;
avg = total / quantity;
System.out.println("Your total is: "+total"\nThe average of your purchase is: " + avg);
【讨论】:
以上是关于关于存储总数和求平均值的初学者 Java 问题的主要内容,如果未能解决你的问题,请参考以下文章