如何仅显示循环的最后一个输出行

时间:2014-11-29 20:32:46

标签: java

首先,我是java的初学者, 我正在尝试做vigenere密码 不使用文件阅读器。

这是我的输出:

program
Omgezet geeft dit: 
y
Omgezet geeft dit: 
yr
Omgezet geeft dit: 
yrj
Omgezet geeft dit: 
yrjg
Omgezet geeft dit: 
yrjga
Omgezet geeft dit: 
yrjgaa
Omgezet geeft dit: 
yrjgaah

但我正试图获得这个输出:

program
Omgezet geeft dit: 
yrjgaah

这是我的代码:

 @SuppressWarnings("resource")
            Scanner sc = new Scanner(System.in);        
            String tekst = sc.nextLine();
            String code = ""; //Variable om de code te laten werken.

            for (int i = 0, j = 0; i < tekst.length(); i++) {
                 char ch = tekst.charAt(i);
                 if (ch < 'a' || ch > 'z') continue; //Negeert nummers.
                 code += (char)((ch + sleutel.charAt(j) - 2 * 'a') % 26 + 'a');
                 j = ++j % sleutel.length();

            System.out.println("Omgezet geeft dit: ");
            System.out.println(code);
        }  
    }         

2 个答案:

答案 0 :(得分:0)

试试这个:

 @SuppressWarnings("resource")
            Scanner sc = new Scanner(System.in);        
            String tekst = sc.nextLine();
            String code = ""; //Variable om de code te laten werken.

            for (int i = 0, j = 0; i < tekst.length(); i++) {
                 char ch = tekst.charAt(i);
                 if (ch < 'a' || ch > 'z') continue; //Negeert nummers.
                 code += (char)((ch + sleutel.charAt(j) - 2 * 'a') % 26 + 'a');
                 j = ++j % sleutel.length();
            }
        System.out.println("Omgezet geeft dit: ");
        System.out.println(code);

    }

Id est:将println句子放在循环之外。

答案 1 :(得分:0)

尝试在循环外打印

for (int i = 0, j = 0; i < tekst.length(); i++) {
             char ch = tekst.charAt(i);
             if (ch < 'a' || ch > 'z') continue; //Negeert nummers.
             code += (char)((ch + sleutel.charAt(j) - 2 * 'a') % 26 + 'a');
             j = ++j % sleutel.length();                             
    }  

 System.out.println("Omgezet geeft dit: ");
 System.out.println(code);