Java格式的输出问题

时间:2013-12-25 19:31:40

标签: java string formatting

public static void main(String[] args) {
    Formatter fmt = new Formatter();
    String russianAlphabet = " абвгдеёжзийклмнопрстуфхцчшщъыьэюя";
    String text = "c точки зрения банальной эрудиции, каждый индивидуум вышедший из сферы эмбрионального развития" +
            "не способен патологически идеализировать метаморфические абстракции";

    //printing text String
    for(int i = 0; i < text.length(); i++){
     fmt.format("%c ",text.charAt(i));
     System.out.print(fmt);
    }
    System.out.println();

    //searching a position index in alphabet
    for(int i = 0; i < text.length(); i++){
     fmt.format("%02d ",russianAlphabet.indexOf(text.charAt(i)));
     System.out.print(fmt);
    }
}

我只需要两个笔画的紧凑输出,一个在另一个之下。首先显示由空格分割的字符,第二个显示字母表中字符的位置。格式输出有什么问题?它返回了大量随机文本。 (对不好的英语很抱歉)。

1 个答案:

答案 0 :(得分:1)

将程序文件另存为UTF-8。请尝试以下代码。

我不认为你在这里打印正确的东西。

System.out.print(fmt);

另请注意,在您的程序中,您键入了一些字符 拉丁语不是西里尔语(例如第一个c是拉丁语)。

    public class Test33 {

        public static void main(String[] args) {

            String russianAlphabet = " абвгдеёжзийклмнопрстуфхцчшщъыьэюя";
            String text = "с точки зрения банальной эрудиции, каждый индивидуум вышедший из сферы эмбрионального развития " +
                    "не способен патологически идеализировать метаморфические абстракции";

            for(int i = 0; i < text.length(); i++){
                System.out.print(String.format("%3c | ",text.charAt(i)));
            }
            System.out.println();

            for(int i = 0; i < text.length(); i++){
                System.out.print(String.format("%3d | ",russianAlphabet.indexOf(text.charAt(i))));
            }

            System.out.println();

        }

    }

输出:

  с |     |   т |   о |   ч |   к |   и |     |   з |   р |   е |   н |   и |   я |     |   б |   а |   н |   а |   л |   ь |   н |   о |   й |     |   э |   р |   у |   д |   и |   ц |   и |   и |   , |     |   к |   а |   ж |   д |   ы |   й |     |   и |   н |   д |   и |   в |   и |   д |   у |   у |   м |     |   в |   ы |   ш |   е |   д |   ш |   и |   й |     |   и |   з |     |   с |   ф |   е |   р |   ы |     |   э |   м |   б |   р |   и |   о |   н |   а |   л |   ь |   н |   о |   г |   о |     |   р |   а |   з |   в |   и |   т |   и |   я |     |   н |   е |     |   с |   п |   о |   с |   о |   б |   е |   н |     |   п |   а |   т |   о |   л |   о |   г |   и |   ч |   е |   с |   к |   и |     |   и |   д |   е |   а |   л |   и |   з |   и |   р |   о |   в |   а |   т |   ь |     |   м |   е |   т |   а |   м |   о |   р |   ф |   и |   ч |   е |   с |   к |   и |   е |     |   а |   б |   с |   т |   р |   а |   к |   ц |   и |   и | 
 19 |   0 |  20 |  16 |  25 |  12 |  10 |   0 |   9 |  18 |   6 |  15 |  10 |  33 |   0 |   2 |   1 |  15 |   1 |  13 |  30 |  15 |  16 |  11 |   0 |  31 |  18 |  21 |   5 |  10 |  24 |  10 |  10 |  -1 |   0 |  12 |   1 |   8 |   5 |  29 |  11 |   0 |  10 |  15 |   5 |  10 |   3 |  10 |   5 |  21 |  21 |  14 |   0 |   3 |  29 |  26 |   6 |   5 |  26 |  10 |  11 |   0 |  10 |   9 |   0 |  19 |  22 |   6 |  18 |  29 |   0 |  31 |  14 |   2 |  18 |  10 |  16 |  15 |   1 |  13 |  30 |  15 |  16 |   4 |  16 |   0 |  18 |   1 |   9 |   3 |  10 |  20 |  10 |  33 |   0 |  15 |   6 |   0 |  19 |  17 |  16 |  19 |  16 |   2 |   6 |  15 |   0 |  17 |   1 |  20 |  16 |  13 |  16 |   4 |  10 |  25 |   6 |  19 |  12 |  10 |   0 |  10 |   5 |   6 |   1 |  13 |  10 |   9 |  10 |  18 |  16 |   3 |   1 |  20 |  30 |   0 |  14 |   6 |  20 |   1 |  14 |  16 |  18 |  22 |  10 |  25 |   6 |  19 |  12 |  10 |   6 |   0 |   1 |   2 |  19 |  20 |  18 |   1 |  12 |  24 |  10 |  10 |