java - 如何将值放置到不同的arraylist?
问题描述
我正在做一个餐厅模拟项目。但是,我被困在代码的反馈部分。我把顾客的食物拿给了一个ArrayList
,关于这个ArrayList
,程序可以对每种食物一个一个地提问,并从顾客那里得到一个价格值。但是我不能将它们放入不同的 ArrayLists 中。我想这样做是因为关于食物的价格,程序应该显示评价最高的食物。
简而言之,我想将费率放在不同的数组中。
public static ArrayList FeedBack(ArrayList<String> foods) {
int foodtype;
int rate;
for (int i = 0; i < foods.size(); i++) {
System.out.printf("%s", foods.get(i));
System.out.println("");
System.out.println("please rate that food out of 5");
Scanner feedbackk = new Scanner(System.in);
rate = feedbackk.nextInt();
if ((foods.get(i)).equals("Fried Fries")) {
RateOfFriedFries.add(rate);
AllTheFoodRates.add(RateOfFriedFries);
} else if (foods.get(i).equals("Meat Bal")) {
RateOfMeatBall.add(rate);
AllTheFoodRates.add(RateOfMeatBall);
}
}
return AllTheFoodRates;
}
解决方案
执行以下操作:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
//Test
List<String> foods=Arrays.asList("Fried Fries","Meat Bal");
System.out.println(feedBack(foods));
}
public static List<ArrayList> feedBack(List<String> foods){
int foodType;
int rating;
List<ArrayList> ratingOfAllFoods=new ArrayList<ArrayList>();
List<Integer> ratingOfFriedFries=new ArrayList<Integer>();
List<Integer> ratingOfMeatBall=new ArrayList<Integer>();
for(int i=0;i<foods.size();i++) {
System.out.printf("%s%n",foods.get(i));
System.out.print("Please rate that food out of 5: ");
Scanner feedback=new Scanner(System.in);
if(feedback.hasNextInt()) {
rating=feedback.nextInt();
if ("Fried Fries".equals(foods.get(i))) {
ratingOfFriedFries.add(rating);
ratingOfAllFoods.add((ArrayList) ratingOfFriedFries);
}
else if("Meat Bal".equals(foods.get(i))){
ratingOfMeatBall.add(rating);
ratingOfAllFoods.add((ArrayList) ratingOfMeatBall);
}
} else {
System.out.println("Invalid input");
}
}
return ratingOfAllFoods;
}
}
示例运行:
Fried Fries
Please rate that food out of 5: 3
Meat Bal
Please rate that food out of 5: 4
[[3], [4]]
我还建议您遵循变量和函数的命名约定。
推荐阅读
- javascript - 网站在单个窗口中打开
- python - 复制数据框单元格并附加到所有行中数据框末尾的新列
- angular - Angular - 重新启动 CSS 动画
- magento - Magento 1.9 面包屑总是空的
- postgresql - PostgreSQL:硬 max_wal_size 或复制槽超时
- javascript - 谷歌图表时间线
- python - 使用带有请求和 lxml 的 xpath 抓取但有问题
- python - python多个和同时fifo
- vim - 如果
删除直到行尾。为什么不 拉到行尾? - windows - Capcom驱动漏洞:物理PC上的蓝屏,但虚拟机中没有