首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >二维数组格式问题。我试图用/t标记我的列,但这只会导致我的行消失

二维数组格式问题。我试图用/t标记我的列,但这只会导致我的行消失
EN

Stack Overflow用户
提问于 2016-02-27 12:53:21
回答 1查看 27关注 0票数 1

我有一个有3列的二维数组。打印出来的时候,我要把它制表符。我对下一行使用了/t/n,但它是以直线形式显示的,而不是以行的形式显示。我会把我的代码放进去。我该如何修复它?

代码语言:javascript
复制
package presidnetssort;
import java.io.*;

import java.util.*;

``import edu.princeton.cs.introcs.*;
    public class PresidentsSort 
    {



        public static void main(String[] args) throws FileNotFoundException 
        {
            //Create scanner object to read the file.
            Scanner x = new Scanner(new File("PresidentsGrades.txt"));

            //Create a string array to hold the data from the file.
            String[][] a = new String[44][3];

            //Create a loop to to add the file data to the array.
            for (int i=0;i<a.length;i++)
            {
                a[i][0]=x.next();
                a[i][1]=x.next();
                a[i][2]=x.next();
           }
            //Call the sorting methods. I am commenting them out. Uncomment     them one at a time to use them.
            //sortNames(a);
            //sortCourses(a);
            //sortGrades(a);
            //Call the print method to print the a array.
            print(a);
            StdOut.printf("/t,/t/n",a);

        }

    public static void sortNames(String[][] a)
    {


        Arrays.toString(a);
        StdOut.printf("/t",a);
    }
    public static void sortCourses(String[][] a)
    {

        Arrays.toString(a);
        print(a);
    }
    public static void sortGrades(String[][] a)
    {

        Arrays.toString(a);
        print(a);
    }
     static void print(String[][] a)
     {
            for (int i=0;i<a.length;i++)
            {
                for (int j=0;j<a[0].length;j++) 
                    System.out.print(a[i][j]+" ");
                 StdOut.printf("/t,/t/n",a);
            }
      }
     }

我的输出显示为: Wasington Algorithm 98 /t,/t/nAdams Math 89 /t,/t/nJefferson Java 85 /t,/t/nMadison C# 83 /t,/t/nMonroe Web 88 /t,/t/nAdams Algorithm 81 /t,/t/n

当我去掉格式设置并且不使用StdOut.print时,它会像应该的那样按行打印,但不是以制表符的形式打印,如下所示:

沃辛顿算法98亚当斯数学89杰斐逊Java 85麦迪逊C# 83门罗网页88亚当斯算法81杰克逊Java 78布伦C# 75哈里森计算机45泰勒算法73波尔克Java 68泰勒算法88菲尔莫尔网页93皮尔斯数学56布坎南算法77林肯算法99约翰逊C# 76授予算法92海斯网页76加菲尔德计算机66亚瑟网页77克利夫兰爪哇88哈里森算法75克利夫兰C# 91 McKinley算法100罗斯福网页79塔夫特C# 86威尔逊C# 84硬化网页67柯立芝数学67胡佛历史76罗斯福历史84杜鲁门数学83艾森豪威尔历史100肯尼迪爪哇95约翰逊算法56尼克松历史23福特历史78卡特数学55里根算法99布什算法89克林顿历史45布什数学75奥巴马历史13

EN

回答 1

Stack Overflow用户

发布于 2016-02-27 12:56:41

制表符和换行符分别为\t\n,请更改

代码语言:javascript
复制
StdOut.printf("/t,/t/n",a);

类似这样的东西

代码语言:javascript
复制
StdOut.printf("\t,\t\n",a);

代码语言:javascript
复制
StdOut.printf("/t",a);

代码语言:javascript
复制
StdOut.printf("\t",a);

以此类推。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35665849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档