java - 我无法输入第二个产品名称。我的 while 循环有问题吗?
问题描述
这是我的代码,我是初学者 Java 程序员。我正在尝试创建一个简单的计费程序。
ArrayList<String> name=new ArrayList<String>();
ArrayList<Float> rate=new ArrayList<Float>();
ArrayList<Float> quantity=new ArrayList<Float>();
ArrayList<Float> price= new ArrayList<Float>();
String name1;
float rate1;
float quantity1;
float price1;
boolean flag=true;
int choice;
float sum=0;
while(flag)
{
System.out.println("ENTER PRODUCT NAME");
name1=sc.nextLine();
name.add(name1);
System.out.println("ENTER RATE OF THE PRODUCT");
rate1=sc.nextFloat();
rate.add(rate1);
System.out.println("ENTER QUANTITY OF THE PRODUCT");
quantity1= sc.nextFloat();
quantity.add(quantity1);
price1=rate1*quantity1;
price.add(price1);
sum=sum+price1;
System.out.println("IF YOU WANT TO ADD ANOTHER PRODUCT ENTER 1 OTHERWISE ENTER 0");
choice=sc.nextInt();
if(choice==1) {
System.out.println('\f');
flag=true;
}
else flag=false;
}
但是在第二个 while 循环中,我无法添加第二个产品名称,但我可以添加剩余的详细信息,例如第二个产品的费率和价格。帮我解决这个问题。
解决方案
推荐阅读
- python - 熊猫删除具有不同列值的不同行
- sql - Q) 编写查询以返回区域和相应的销售增长(比较 Q4-2019 与 Q3-2019 之间的增长)
- webview - Nativescript webview 为 mediaDevices.getUserMedia 设置权限
- bazel - 如何获取 bazel 规则执行开始时间?
- vb.net - 为什么在 Intel 机器上编译的 VB.NET DLL Addin for Inventor 可以在 Intel 机器上运行,但不能在 AMD 上运行?
- mysql - 如何更改 MySQL 中的默认用户?
- google-apps-script - 我的 Slack Bot 使用 Google API 为使用服务帐户的用户生成包含数据的 Google 表格,如何向该表格添加脚本
- cypress - 在 react 项目中使用 cypress 时如何获取 url 值并与输入值进行比较?
- javascript - Apache Echarts - 创建拖放效果
- scala - Scala - 使用随机数元组创建 seq