我有一个包含商店信息的文件,我想将其排序为另一个文件,例如表格(在Excel中)。
文件 :
001 Tablets 5 3
002 pens 4 1
005 Computeres 3 0
003 Bages 2 1
004 USB 4 0
Run Code Online (Sandbox Code Playgroud)
我写这段代码:
import java.util.*;
import java.io.*;
public class Sort {
public static void main(String [] args) throws IOException {
FileInputStream fileinput = new FileInputStream("input.txt");
FileOutputStream fileoutput = new FileOutputStream("output.txt");
Scanner infile = new Scanner(fileinput);
PrintWriter pw = new PrintWriter(fileoutput);
int id, quantity, soldQuantity;
String title;
pw.println("ID\tTitle\t\t\tQuantity\tSoldQuantity");
pw.println("");
while(infile.hasNext()){
id = infile.nextInt();
title = infile.next();
quantity = infile.nextInt();
soldQuantity = infile.nextInt();
pw.printf("%6d\t%s\t\t%d\t%d%n", id , title, quantity, soldQuantity);
}
infile.close();
pw.close();
}
}
Run Code Online (Sandbox Code Playgroud)
我希望它看起来像这样:
Code(ID) Name Quantity SoldQuantity
001 Tablets 5 3
002 pens 4 1
005 Computeres 3 0
003 Bages 2 1
004 USB 4 0
Run Code Online (Sandbox Code Playgroud)
我的问题是数量和售出数量不合适。看起来像这样:
Code(ID) Name Quantity SoldQuantity
001 Tablets 5 3
002 pens 4 1
005 Computers 3 0
003 Bags 2 1
004 USB 4 0
Run Code Online (Sandbox Code Playgroud)
如果名称比“计算机”大,则名称大小不同时会发生问题,我该如何处理?
谢谢
除了使用\t空格,还可以对字符串使用宽度修饰符:
pw.printf("%6d\t%30s%d\t%d%n", id, title, quantity, soldQuantity);
Run Code Online (Sandbox Code Playgroud)
如果您真的想确保所有内容都排成一行,无论最长title的长度有多长,您都可以找到最长的长度,添加一个长度,然后使用该长度将格式字符串粘贴在一起。
| 归档时间: |
|
| 查看次数: |
6717 次 |
| 最近记录: |