我的项目遇到了一些麻烦。这个想法是,创建一个程序,它使用扫描仪扫描.txt文件,其中包含指示要使用的对齐方式的数字(1 =左对齐,2 =右对齐&3 =中央),第二个数字在input是行的最大长度,第三个是单词的计数,然后是文本。
我制作了简单的程序,将文本对齐到左边,但不知道如何正确对齐和居中。
以下是案例1的代码(如果你建议进行一些修改,或者有更优雅的解决方案,我会很高兴)。非常感谢你!
import java.util*
public class Align {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int command = sc.nextInt();
int sumOfChar = 0;
boolean First = true;
switch (command) {
case 1:
int maximumLength = sc.nextInt();
int numberOfWords = sc.nextInt();
for (int i = 0; i < numberOfWords; i++) {
String word = sc.next();
int a = word.length();
sumOfChar = sumOfChar + a;
if (First) {
System.out.print(word);
First = false;
}
else if (sumOfChar < maximumLength) {
System.out.print(" "+word);
sumOfChar++;
}
else {
System.out.println();
System.out.print(word);
sumOfChar = a;
}
}
}
}
}
答案 0 :(得分:0)
首先,你必须计算你需要多少空格。
其次,您需要一个方法,将添加所需的空间数。
left align =在单词后添加空格。
右对齐=在单词前添加空格。
center align =在前一半和后一半增加一半的空间。
答案 1 :(得分:0)
如果适合,请不要立即打印出每个单词。相反,构建一个线表示(例如,使用StringBuilder
),当行已满(或输出用完)时,您可以根据对齐计算所需的前导空格数。