Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中将输出格式化为表?_Java_Gpa - Fatal编程技术网

如何在Java中将输出格式化为表?

如何在Java中将输出格式化为表?,java,gpa,Java,Gpa,我试图为成绩报告做一个表格,它应该有5列,分别是班级、描述、单位、成绩和成绩点。 但是,我无法使输出彼此对齐。 我只是简单地使用“\t”。 有没有一种方法可以使输出在Java中成为一个表 import java.util.*; public class Project1_Trial2 { public static void main(String args[]) { Scanner scanner = new Scanner(System.in);

我试图为成绩报告做一个表格,它应该有5列,分别是班级、描述、单位、成绩和成绩点。 但是,我无法使输出彼此对齐。 我只是简单地使用“\t”。 有没有一种方法可以使输出在Java中成为一个表

import java.util.*;
public class Project1_Trial2 {
    public static void main(String args[])
    {
        Scanner scanner = new Scanner(System.in);

        //Input the term
        System.out.println("Please enter the term of your grade calculation (for example, Fall 2015): ");
        String term = scanner.nextLine();

        //Input the number of courses that the student is enrolled in
        System.out.println("Please enter the number of courses that you are enrolled in "+term+": ");
        int numberofcourses = scanner.nextInt();

        //Declaration
        String ClassName[] = new String[numberofcourses];
        String Description[] = new String[numberofcourses];
        String Grade[] = new String[numberofcourses];
        int Units[] = new int[numberofcourses];

        //Arrays for class number, description, units, grade, grades point
        //Here, input class number, description, units, and grades
        for(int i = 0; i < numberofcourses; i++)
        {
            scanner.nextLine();
            System.out.println("Please enter your #"+(i+1)+" class name: ");
            ClassName[i] = scanner.nextLine();
            System.out.println("Please enter your #"+(i+1)+" class description: ");
            Description[i] = scanner.nextLine();
            System.out.println("Please enter your #"+(i+1)+" class units: ");
            Units [i] = scanner.nextInt();
            System.out.println("Please enter your #"+(i+1)+" class grade: ");
            Grade[i] = scanner.nextLine();
        }

        System.out.println("Class Grades - "+term+" Term");
        System.out.println("Office Grades");
        System.out.println("Class \t \t Description \t \t Units \t \t Grade \t \t Grade Points");
        for(int i = 0; i < numberofcourses; i++)
        {
        System.out.println(ClassName[i]+"\t \t"+Description[i]+"\t \t"+Units[i]+"\t \t"+Grade[i]);
        }
    }
}
import java.util.*;
公共类项目1\u试验2{
公共静态void main(字符串参数[])
{
扫描仪=新的扫描仪(System.in);
//输入术语
System.out.println(“请输入成绩计算的期限(例如2015年秋季):”;
字符串项=scanner.nextLine();
//输入学生注册的课程数
System.out.println(“请输入您注册的课程数”+学期+“:”;
int numberofcourses=scanner.nextInt();
//声明
String ClassName[]=新字符串[numberofcourses];
字符串说明[]=新字符串[numberofcourses];
字符串等级[]=新字符串[numberofcourses];
整数单位[]=新整数[课程数];
//类别编号、说明、单位、等级、等级点的数组
//在此,输入类别编号、说明、单位和等级
for(int i=0;i
有多种方法可以对齐输出,使其均匀对齐……一种方法是替换放置位置:

System.out.println(ClassName[i]+"\t \t"+Description[i]+"\t \t"+Units[i]+"\t \t"+Grade[i]);
与:

System.out.printf("%-15s %-15s %-15s ",ClassName[i],Description[i],String.format("%5d", Units[i]),Grade[i]);
不要使用
System.out.println()
而是使用
System.out.printf()
这样可以填充字符串,并在
printf()
函数中使用
String.format()
来填充整数和空格……您可以根据自己的喜好调整填充 这是一种更有效的方法,而不是经常使用和的选项卡