java - Java格式化输出问题

原文 标签 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);
    }
}


我只需要两个笔画的紧凑输出,一个在另一个下。第一个显示按空格分隔的字符,第二个显示字母在字母中的位置。格式输出有什么问题?它返回很多随机文本。 (对不起,英语不好)。

最佳答案

将您的程序文件另存为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 | 

关于java - Java格式化输出问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20776123/

相关文章:

asp.net-mvc - Angular http get 在额外的引号中返回字符串

c++ - 限制一个str [n]的输入

java - 关于试捕

java - 了解Java集合中的Java引用

java - 捕获字符串中的属性值?

c++ - 我应该在我的 C++ 代码中使用 printf 吗?

r - 如何分别格式化每个 ggplot 面板的轴刻度标签?

mysql - 重写了mySQL语句

java - JDBC-Windows上的连接非常慢,Linux上很好

java - 无需滚动到顶部即可更新 recyclerView Adapter