输入格式
每行输入将包含一个字符串,后跟一个整数。每个字符串最多包含 10 个字母字符,每个 整数将在 0 到 999 的包含范围内。
输出格式
在每行输出中应有两列:第一列包含字符串,并使用正好 15 个字符左对齐。 第二列包含整数,正好用 3 位数字表示; 如果原始输入少于三位数,则必须填充您的 输出的前导数字与零。
示例输入
java 100 cpp 65 python 50
示例输出
================================ java 100 cpp 065 python 050 ================================
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
StringBuilder sb=new StringBuilder();
int x=0,len=0;
System.out.println("================================");
for(int i=0;i<3;i++)
{
boolean bool = true;
while(bool){
sb=sb.append(sc.next());
len=sb.toString().length();
if(len>10) {
sb.delete(0,len);
System.out.println("Enter zero - ten character string");
}
else
bool = false;
}
bool= true;
while(bool){
x=Integer.parseInt(sc.next());
sc.nextLine();
int l= Integer.toString(x).length();
if(l>3) {
System.out.println("Enter zero - three digit number");
}
else
bool = false;
}
System.out.printf("%1$-16s %2$03dn",sb,x);
sb=sb.delete(0,len);
}
System.out.println("================================");
}
}
在每个字符串和数字之间打印了两个额外的空格字符。
尝试更换
System.out.printf("%1$-16s %2$03dn",sb,x);
跟
System.out.printf("%1$-15s%2$03d n",sb,x);
此外,您应该删除行sc.nextLine();
以避免额外的读取并导致过度。