【发布时间】:2013-01-29 03:38:22
【问题描述】:
我有一个大学作业,我需要打印出五金店出售的物品,从用户那里获取输入,对该输入进行一些计算,然后打印出发票。
我已经能够成功打印出五金店出售的物品,但是在使用输入的while 循环时遇到了问题。
程序要求用户输入一个代码,然后要求输入相应的数量。这在循环的第一次迭代中运行良好,但在第二次迭代中,用户提示“CODE:”和“QUANTITY:”出现在同一行,尽管我在提示用户时使用了println。
非常感谢适合编程新手的详细回复。
代码如下:
import java.util.Scanner;
class HardwareStore {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("WELCOME TO THE HARDWARE STORE!");
System.out.println("----------------------------------------------------------------------");
String sticky = "G22";
String keyring = "K13";
String screwy = "S21";
String padlock = "I30";
int stickyprice = 10989;
int keyringprice = 5655;
int screwyprice = 1099;
int padlockprice = 4005;
System.out.println("CODE\t\tDESCRIPTION\t\t\t\t\tPRICE");
System.out.println("----\t\t-----------\t\t\t\t\t-----");
System.out.println(sticky + "\t\tSTICKY Construction Glue, Heavy Duty, \n\t\t7oz, 12 Pack \t\t\t\t\t$" + stickyprice);
System.out.println(keyring + "\t\tCAR-LO Key Ring, Quick Release, \n\t\t1 Pack\t\t\t\t\t\t$ " + keyringprice);
System.out.println(screwy + "\t\t!GREAT DEAL! SCREW-DUP Screwy Screws, \n\t\tDry Wall Screws, 3 in. Long, 50 Pack\t\t$ " + screwyprice);
System.out.println(padlock + "\t\tLET-IT-RAIN, Weather Proof Padlock, \n\t\tPortable, One Push Functionality\t\t$ " + padlockprice);
System.out.println("----------------------------------------------------------------------");
int i = 10000;
String [] usercode = new String[i];
int [] userquantity = new int[i];
System.out.println("PLEASE ENTER YOUR ORDER:");
while (true) {
System.out.println("CODE: (X to terminate)");
usercode[i] = in.nextLine();
if (usercode[i].equalsIgnoreCase("x")) {
break;
}
System.out.println("QUANTITY: ");
userquantity[i] = in.nextInt();
}
}
}
【问题讨论】:
-
另外,请随意编辑其余代码,并为我提供有关如何继续执行该程序的提示。或者我有哪些可以改进的方法。
-
您应该接受对上一个问题的回答。
-
我该怎么做?我确实单击“是”来“这篇文章对您有帮助吗?”答案之一。如果那是我必须做的,我会再做一次。也许我上次没有做对。
-
非常感谢。我想通了并接受了一个。对不起,我在这里很新。我相信你们和我这样的菜鸟打交道会很烦人,但我会尽快学习如何更好地使用这个网站。
-
@nickecarlo 我们曾经都是菜鸟。不用担心。见鬼,我还是。