2014-05-05 14 views
-1
  1. 在NetBeans中创建一个java文件,将其命名为Catalog.java。
  2. 创建一个字符串数组以存储目录中的3个产品
  3. 创建适当的变量以存储产品名称,产品代码和产品价格。
  4. 在程序开始时,通过循环显示阵列并将其输出到每个产品的数字列表屏幕,如上所示
  5. 创建无限循环以输入订单;停止循环,用户应输入0
  6. 将所有产品的总金额和子总(多蓄电池)的总运行(蓄电池)
  7. 写来计算税款的方法,并返回一个总计
  8. 写的另一种方法来打印出上面的顺序

由于上市公司应该像这样在netbeans中创建购物目录

我想知道如何获得用户输入这样的和被存储在一个数组中输入。

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 

回答

0
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++; 
+0

它仍然结束程序。 – darkhouse

+0

@ user3545312尝试'if(pCode [orderNum] ==“M3487”)' – Himanshu

+0

同样的问题,它没有输入if语句。为什么? – darkhouse