我想在这里学习java所以总的新手。比方说,例如,我们有一个字符串
String file = "1,Cheese Burger,50;2,Pizza,70;3,Coke,20;4,Beer,20";
我需要做的就是创建一个基于控制台应用程序列表中的所有这些项目,然后添加多个项目,显示的价格。
这是我已经尝试了代码。我可以添加数字,我只是不知道如何从用户到一个变量取输入。
例如,当我运行控制台应用程序我想用户输入的,因为他要多汉堡包。然后,他做他选择号码3。
请温柔
import java.util.Scanner;
import java.util.*;
public class Test {
public static void main(String[] args) {
String file = "1,Cheese Burger,50;2,Pizza,70;3,Coke,20;4,Beer,20";
//split
String [] elements = file.split(";");
//convert string to list of string
List<String> fixedLengthList = Arrays.asList(elements);
//copy fixed to arraylist
ArrayList<String> listOfString = new ArrayList<String>(fixedLengthList);
int p = 0;
while (p != 5) {
Scanner sc = new Scanner(System.in);
for (String line : listOfString
) {
System.out.println("1. Cheese burger 50");
System.out.println("2. Pizza 80");
System.out.println("3. View your bill");
sc.nextInt();
String[] items = line.split(",");
String itemPriceString = items[2];
double itemPrice = Double.parseDouble(itemPriceString);
double burger = itemPrice;
System.out.println(burger+burger);
}
}
}
}
好了,我真的很抱歉,我不完全理解的问题,但我想推荐一些提示,在捆绑来管理类似的变量。
类似于C的数据结构++,如对和TUPE,Java有声明“级”的方法
class Menu {
int order; //for food order number
String name; // for food name,
int price; //for food price
Menu(String name, int price){
//following the 'Constructor' We can put data
this.name = name;
this.price = price;
}
}
那么,我们如何使用它?
通过以这种方式使用名单,
String file = "1,Cheese Burger,50;2,Pizza,70;3,Coke,20;4,Beer,20";
//split
String [] elements = file.split(";");
List<Menu> foodMenu = new ArrayList<Menu>(); //init
for(int i = 0; i< 4; i++) { //4 foods
String [] line = elements[i].split(",");
foodMenu.add(new Menu(Integer.parseInt(line[0]), //food order number
line[1], //food name
Integer.parseInt(line[2])) //food price
);
}
/*foodMenu[0] = 1, Cheese Burger, 50
foodMenu[1] = 2, Pizza, 70
foodMenu[2] = 3, Coke, 20
foodMenu[3] = 4, Beer, 20
if you want to access a data you can use like this
foodMenu.get(index).order / name / price ; */
现在,让我们尝试通过这一新的存储系统,让客户选择买什么,并支付
import java.util.Scanner;
import java.util.*;
class Menu {
int order; //for food order number
String name; // for food name
int price; //for food price
Menu(int order, String name, int price){
//following the 'Constructor' We can put data
this.order = order;
this.name = name;
this.price = price;
}
}
public class StackOver {
public static void main(String[] args) {
String file = "1,Cheese Burger,50;2,Pizza,70;3,Coke,20;4,Beer,20";
//split
String [] elements = file.split(";");
List<Menu> foodMenu = new ArrayList<Menu>(); //init
for(int i = 0; i< 4; i++) { //4 foods
String [] line = elements[i].split(",");
foodMenu.add(new Menu(Integer.parseInt(line[0]), //food order number
line[1], //food name
Integer.parseInt(line[2])) //food price
);
}
//foodMenu[0] = 1, Cheese Burger, 50
//foodMenu[1] = 2, Pizza, 70
//foodMenu[2] = 3, Coke, 20
//foodMenu[3] = 4, Beer, 20
//if you want to access a data you can use like this
// foodMenu.get(index).order / name / price ;
Scanner sc = new Scanner(System.in);
int price = 0; //for purchase price
int p = 0; //Great Init for avoiding NullPointerException
while (p != 5) {
System.out.println("Please Input number 1 to 5 to Order food or purchase");
System.out.println("1. Cheese burger 50$");
System.out.println("2. Pizza 80$");
System.out.println("3. Coke 20$");
System.out.println("4. Beer 20$");
System.out.println("5. Beer 20$");
p = sc.nextInt(); //customer will choose number
if(p!=5) {
price += foodMenu.get(p-1).price;
//add price of selected food!
}
}
System.out.println("Ok, The price is "+price+"$ in total");
System.out.println("Have a nice day!");
}
}
我希望这个答案可以帮助你一点点,如果它是很难理解,请发表评论!有一个和平的一天!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句