嗨,要求是以表格格式显示用户输入

问题描述 投票:-6回答:1

要求是以表格格式显示用户输入学生详细信息。

For example:
Enter the number of students
2
Enter the student1 details
28
Science
Is the student from same country[Y/N]
N
Enter the country
Australia
Enter the Student2 details
29
Commerce
Is the Student from same country[Y/N]
Y
The student details are
Age         Subject     Country        
28          Science    Australia      
29          Commerce     UK

**如果学生默认来自同一国家,则该值将在国家/地区列下打印为英国。我被困在需要以标题格式显示在标题(年龄,名称,国家/地区)下的值以及默认值(在这种情况下为英国)的位置。我是java的新手,无法继续使用。你的任何帮助对我都有好处。提前致谢。

我的代码是:

public class StudentTable{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        //Port obj = new Port();
        int a,i;
        String b = null;
        System.out.println("Enter the number of students");
        a = sc.nextInt();
        int[] age = new int[a+1];
        String[] name = new String[a+1];
        for(i=1;i<a+1;i++){
            System.out.println("Enter the students "+i+ " details");
            age[i] = sc.nextInt();
            sc.nextLine();
            name[i] = sc.nextLine();
            System.out.println("Is the student from same country[Y/N]");
            b = sc.nextLine();

                if(b=="N"){
                System.out.println("Enter the country");
                String country = sc.next();
                return;
                }
        }
                if(b=="Y");
                String country = "India";
                    System.out.println("The student details are");
                    System.out.format("%-15s%-15s%-15s","Age","name","country");
java arrays getter-setter
1个回答
0
投票

1.阅读“==”或“等于”,sysout.printf和干净代码之间的区别。

 public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);



    //Port obj = new Port();
    int count, i;
    String b ;

    System.out.println("Enter the number of students");
    count= sc.nextInt();

    int[] age = new int[count];
    String[]  name = new String[count];
    String[] country=new String[count];
    for (i = 0; i < count; i++) {
        System.out.println("Enter the students " + i+1 + " details");
        System.out.println("Your age?");

        age[i] = sc.nextInt();

        sc.nextLine();
        System.out.println("Your name?");

        name[i] = sc.nextLine();
        System.out.println("Is the student from same country[Y/N]");
        b = sc.nextLine();

        // if(b=="N")
        if (b.equals("N")) {
            System.out.println("Enter the country");
             country[i] = sc.next();

        }
        //if(b=="Y")
        if (b.equals("Y")) {
             country[i] = "India";
        }
    }
   String frmt= String.format("%-15s%-15s%-15s","Age","name","country");
    System.out.println("The student details are");
    System.out.println(frmt);
    for( i=0;i<age.length;i++){

        System.out.printf("%d  %15s  %14s",age[i],name[i],country[i]);
        System.out.println();
    }
}

}
© www.soinside.com 2019 - 2024. All rights reserved.