确定我的getBreadInfo代码是
public static String[] getBreadInfo()
{
ArrayList<String> breadsList = new ArrayList<>();
try (BufferedReader in =
new BufferedReader(
new FileReader("bread.txt")))
{
String line = in.readLine();
while (line != null)
{
String[] elems = line.split("~");
breadsList.add(elems[0]+ " $" + elems[1]);
line = in.readLine();
}
}
catch(IOException e)
{
System.out.println(e);
return null;
}
String[] breadInfo = breadsList.toArray(new String[]{});
return breadInfo;
}
并在我的主应用程序中显示此数组为
public static void displayBreadMenu()
{
System.out.println("=== Select Sandwich Bread ===");
String[] breadInfo = SandwichDB.getBreadInfo();
for (String breads : breadInfo)
{
System.out.println(breads);
}
}
它在控制台上打印为
===选择三明治面包===
白面包1.50
小麦面包1.80
法式面包2.00
有机面包2.30
如何添加整数值以与每个数组关联?像
1白面包
2小麦面包
3法式面包
4有机面包
我告诉我的getBread()类似于getBreadInfo,除了它只包含 面包名称,并为SandwichApp返回另一个数组bread [] 用户选择哪个面包因为用户输入了一个数字 与面包(索引+ 1)相关联,而不是面包名称。
我在getbread()中写入整数值还是getBread只是为了检查用户选择的面包?
答案 0 :(得分:1)
我认为这就是你想要的。只需使用变量来显示行...
int counter = 0;
for (String breads : breadInfo)
{
System.out.println(++counter + "\t" + breads);
}
答案 1 :(得分:1)
如何使用计数器并在添加到列表时附加它。
int count=1;
while (line != null)
{
String[] elems = line.split("~");
breadsList.add(count+" " +elems[0]+ " $" + elems[1]);
line = in.readLine();
count++;
}
答案 2 :(得分:0)
我真的很惊讶当你在数组中添加White bread 1.50
时如何打印elems[0]+ " $" + elems[1]
(请注意其间的$
签名。)
不打印1 White bread
,是否要在前面打印索引之前从字符串末尾截断$" + elems[1]
?
如果是:请尝试以下:
int ind = 1;
for (String breads : breadInfo){
System.out.println(ind++ + "\t" + breads.split("\\$")[0]);
}
请注意:breads.split("$")[0]
将从存储在数组中的White bread
字符串返回White bread $1.50
。