【买菜】
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
package Practice06; import java.io.File; import java.io.FileNotFoundException; import java.util.Arrays; import java.util.Scanner; import lab2.Anagrammar; public class Grocer { String itemName; int qty; float unitPrice; String unit; String[] textArray; String[] items; public static void main(String[] args) { Grocer grocer = new Grocer(); grocer.readFile(); //方法和变量之前都要加对象名 grocer.generateBills(grocer.items); } public String[] readFile() { Scanner fileInput = null; StringBuilder fileContent = new StringBuilder(); try { fileInput = new Scanner(new File("Groceries.txt")); } catch (FileNotFoundException e) { e.printStackTrace(); } while (fileInput.hasNextLine()) fileContent.append(fileInput.nextLine() + " "); textArray = fileContent.toString().split(" "); System.out.println(fileContent); System.out.println(Arrays.toString(textArray)); //assign the textarray to items using this this.items = textArray; return textArray; } public void generateBills(String[] items) { int count = 0; //how to assign the variables //Item item = new Item(); System.out.println("# Item Qty Unit Unit price Total price"); //for the table-header labels for (int i = 0; i < items.length; i++) { String temp = items[i]; String[] info = temp.split(","); //remember to trim Item item = new Item(info[0], Integer.valueOf(info[1].trim()), Float.valueOf(info[3].trim()),info[2]); System.out.printf("%-8d%-16s%-8d%-16s$%-16.2f$%-16.2f%n", ++count, item.itemName, item.qty, item.unit, item.price, item.qty*item.price ); //for the table rows } } }
//方法和变量之前都要加对象名
grocer.generateBills(grocer.items);
//assign the textarray to items using this
this.items = textArray;
//remember to trim
【彩虹】
rainbow.readFile();
//生成了rainbow以后可以直接用
rainbow.calculateVoteCounts();
【nextLine()有空格】
即nextLine()方法返回的是Enter键之前的所有字符,长,它是可以得到带空格的字符串的。