我对java很新,我知道我的学习方式非常糟糕。所以,我已经理解了一下如何打印和填充(我很抱歉,我对java完全不熟悉)。无论如何,我正在创建一个POS(销售点)系统。
所以在我当前的代码中,当你在cmd / console中运行它时
您将看到2个选项(1& 0) 但它实际上有3种选择,(1,2& 0)。
1-将项目添加到列表
2-一切(需要先添加项目[1])
0-退出
将产品/项目添加到列表后,它将循环回到交易部分(1,2& 0)部分。一切都很好,直到我输入" 2" 然后我给我一个错误:
'Exception in thread "main" java.lang.NullPointException at Pos.main(Pos.java:69)'
当我在Facebook聊天的朋友使用这个在线编译器时,它说:
'java.util.Scanner.throwFor(Scanner.java:862)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextInt(Scanner.java:2117)
at java.util.Scanner.nextInt(Scanner.java:2076)
at Pos.main(Pos.java:47)'
(我放置了这么多进口的主要原因)
请帮助一个菜鸟: - (
我一直在搜索stackoverflow和谷歌,但似乎没有任何工作,或者我的知识水平太低,无法理解这些。
无论如何,我目前的目标是当我按下' 2'它将从我已添加的交易区域的项目中获得所有总计的总和。所以基本上按下' 1'在交易区域意味着您要订购一些东西。当我按下' 2'然后你的账单(总数)或类似的东西。
import java.*;
import java.util.*;
import java.util.Scanner;
import java.lang.*;
import java.io.*;
class Product {
private String prodName;
private double prodPrice;
private int quantity;
public double prodTotal;
// constructor
public Product(String prodName, double prodPrice,int quantity,double prodTotal) {
this.prodName = prodName;
this.prodPrice = prodPrice;
this.quantity = quantity;
this.prodTotal = prodTotal;
}
// getter
public String getprodName() { return prodName; }
public double getprodPrice() { return prodPrice; }
public int getquantity() { return quantity; }
public double getprodTotal() { return prodTotal; }
// setter
public void setprodName(String prodName) { this.prodName = prodName; }
public void setprodPrice(double prodPrice) { this.prodPrice = prodPrice; }
public void setquantity(int quantity) {this.quantity = quantity; }
public void setprodTotal(double prodTotal) {this.prodTotal = prodTotal; }
}
public class Pos{
public static void main (String args[])
{
String pname;
double price;
int quant,choice,j,i=0;
double ptotal, total=0;
Product[] prod = new Product[100];
do{
System.out.println("\n1 - Add Item to List\n0 - Exit\n");
Scanner inputReader= new Scanner( System.in );
choice=inputReader.nextInt();
switch(choice){
case 1:
System.out.println("Enter product name: ");
pname = inputReader.next();
System.out.println("Enter price: ");
price = inputReader.nextDouble();
System.out.println("Enter quantity: ");
quant = inputReader.nextInt();
ptotal = price*quant;
ptotal = Math.round(ptotal * 100.0) / 100.0;
System.out.println("\nProduct: "+pname+"\tPrice: P"+price+"\tQuantity: "+quant+"\tTotal: P"+ptotal);
prod[i] = new Product (pname,price,quant,ptotal);
i++;
break;
case 2:
j=i;
while(j>0){
total=total+prod[j].prodTotal;
j--;
}
System.out.println("Overall Total: "+total);
break;
case 0:
break;
}
}while(choice!=0);
//System.out.println("\nProduct: "+prodName+"\tPrice: "+prodPrice+"\tQuantity: "+quantity);
}
}