0

这只是为了形式/整洁。我所知道的 Backlash t (\t) 似乎不太好用。这是我的代码:

import java.util.Scanner;

public class RegisterStudent {

public static void register() {
    System.out.println("----------------------------------------");
    System.out.println("Student Class Card Evaluation System");
    System.out.println("----------------------------------------");

    System.out.println("Personal Data");
    Scanner input = new Scanner(System.in);
    System.out.print("\tEnter student no.: ");
    long studNo = input.nextLong();
    System.out.print("\tEnter first name: ");
    String fName = input.next();
    System.out.print("\tEnter last name: ");
    String lName = input.next();
    System.out.print("\tEnter course: ");
    String course = input.next();
    System.out.println();

    System.out.println("----------------------------------------");
    System.out.println("Subject: Computer Programming 2");
    System.out.println("----------------------------------------");
    System.out.println();
    System.out.print("\tPrelim Grade: ");
    double pg = input.nextDouble();
    System.out.print("\tMidterm Grade: ");
    double mg = input.nextDouble();
    System.out.print("\tPrefinal Grade: ");
    double pfg = input.nextDouble();
    System.out.print("\tFinal Grade: ");
    double fg = input.nextDouble();
    System.out.println();
    System.out.println("----------------------------------------");

    double gwa = (pg + mg + pfg + fg)/4;    

    System.out.println();
    System.out.println("Student Evaluated successfully...");
    System.out.println("Viewing Report...");
    System.out.println();
    System.out.println("--------------------------------------------------------------------------------------------");
    System.out.println("ID No.\t\t" + "LASTNAME\t\t" + "FIRSTNAME\t\t" + "COURSE\t\t"
        + "PG\t\t" + "MG\t\t" + "PFG\t\t" + "FG\t\t" + "GWA");
    System.out.println("--------------------------------------------------------------------------------------------");

    System.out.println(studNo + "\t\t" + lName + "\t\t" + fName + "\t\t" + course + "\t\t"
        + pg + "\t\t" + mg + "\t\t" + pfg + "\t\t" + fg + "\t\t" + gwa);

输出应如下所示: 输出

用户将输入的所有内容都应正确对齐。请帮我修复我的程序,谢谢大家!


我目前的输出是这样 IMG 的:你看到它没有正确对齐

4

2 回答 2

6

由于这是家庭作业,这里有一些提示:

  • printf一个PrintWriter或多个类上的方法PrintStream可以进行对齐。可以String.formatFormatter类。

  • '\t'如果您希望对齐可移植,请不要在简单文本输出中使用 TAB 字符(即)进行对齐。不同的操作系统对 TAB 的“宽度”有不同的想法。

于 2013-01-19T10:11:16.703 回答
0

每行输入所需的选项卡数将取决于行上首先出现的提示文本的长度,即提示越短,需要的选项卡越多。简单的试验和错误应该整理你的输出,给你所需的结果。

于 2013-01-19T10:15:35.720 回答