- 在NetBeans中创建一个java文件,将其命名为Catalog.java
- 创建一个字符串数组,为目录存储3种产品
- 创建适当的变量来存储产品名称、产品代码和产品价格
- 在程序开始时,通过循环遍历阵列并将其输出到屏幕上,为用户显示目录,并为每个产品列出编号,如上所示
- 创建一个输入订单的无限循环;要停止循环,用户应输入0
- 保持所有产品总量和小计(多个累加器(的连续总和(累加器
- 写一个计算税款的方法并返回一个总额
- 编写另一种方法打印出上面列出的订单
它应该像这个一样输入
我想知道如何让用户输入这样的内容并将其存储在数组中。
Enter Order Number (0 to stop): M3487
Enter Quantity: 2
Enter Order Number (0 to stop): W3876
Enter Quantity: 3
Enter Order Number (0 to stop): R9983
Enter Quantity: 3
Enter Order Number (0 to stop): 0
当我输入代码"M3487"时,它不会进入数量,而是结束程序。
这是我目前掌握的代码。我是初学者,所以请耐心等待。
package catalog;
import java.util.*;
public class Catalog {
static String products[] = new String[3];
static int answer;
public static void main(String[] args) {
System.out.println("------------------");
System.out.println("Shopping Catalog");
System.out.println("------------------");
String[] pCode = new String[3];
float pPrice[] = new float[3];
int orderNum = 0;
int quantity=0;
Scanner s = new Scanner(System.in);
System.out.println("------------------------------------------");
System.out.println("condensed milk [M3487], $9.50 per can.");
System.out.println("");
System.out.println("Distilled Water [W3876], $3.00 a bottle.");
System.out.println("");
System.out.println("Pack Rice [R9983], $12.75 for 5lbs.");
System.out.println("------------------------------------------");
do{
System.out.println("Please enter order number (0 to stop)");
pCode[orderNum] = s.nextLine();
orderNum++;
if(pCode[orderNum] == ("M3487")){
System.out.println("condensed milk $9.50");
System.out.println("Enter Quantity");
quantity = s.nextInt();
}//close if statement
if(answer == 0){
break;
}//close if
}while(true);//close while loop
}//close main method
}//close class
System.out.println("Please enter order number (0 to stop)");
pCode[orderNum] = s.nextLine();
orderNum++; //This is the problem
if(pCode[orderNum] == ("M3487"))//It will not work because you have change the index
删除
orderNum++;
因为您在pCode[0]
处插入了字符串零索引,并在pCode[1]
处进行了搜索。
将您的代码更改为:
System.out.println("Please enter order number (0 to stop)");
pCode[orderNum] = s.nextLine();
if(pCode[orderNum].equals("M3487")){
System.out.println("condensed milk $9.50");
System.out.println("Enter Quantity");
quantity = s.nextInt();
}
orderNum++;