如果一个单词的字母数为偶数,则每行打印两个字母? import java.util.Scanner; 公共类二次{ 公共静态void main(字符串[]args){ 扫描仪扫描=新扫描仪(System.in); System.out.println(“输入一个字母数为偶数的单词:”); 字符串w=scan.nextLine(); 如果(w.length()%2==0){ 对于(int i=0;i

如果一个单词的字母数为偶数,则每行打印两个字母? import java.util.Scanner; 公共类二次{ 公共静态void main(字符串[]args){ 扫描仪扫描=新扫描仪(System.in); System.out.println(“输入一个字母数为偶数的单词:”); 字符串w=scan.nextLine(); 如果(w.length()%2==0){ 对于(int i=0;i,java,Java,,这里有一种方法: import java.util.Scanner; public class TwoAtATime { public static void main(String[] args) { Scanner scan= new Scanner(System.in); System.out.println("Enter a word with an even amount of letters:"); String w = scan.nextLine(

,这里有一种方法:

import java.util.Scanner;

public class TwoAtATime {

  public static void main(String[] args) {
    Scanner scan= new Scanner(System.in);
    System.out.println("Enter a word with an even amount of letters:");
    String w = scan.nextLine();
    if(w.length() % 2 == 0) {
      for(int i= 0; i<w.length(); i++) {
        System.out.println(w.charAt(i));
      }
    } else {
      System.out.println("You didnt follow directions");
    }
  }
}

对@Eran的答案稍加修改,您不需要将w.length()除以2。此外,添加字符不会连接它们

if (w.length() % 2 == 0) {
    for(int i = 0; i < w.length(); i+=2)
        System.out.println(w.substring(i,i+2));
}
参考:

只需将“for”循环更改为:

12
34
56
78

for(inti=1;i您可以使用谷歌番石榴,它将字符串按固定长度分割(在您的情况下为2)


这是java文档的

有几个问题,1.添加字符不会将它们连接起来。2.w.length()不需要除以2。@NickG谢谢你的更正。我想这是回答太快的风险之一。现在修复了。很好-我喜欢子字符串的答案!:)你可能想尝试测试一下(这是错误的,除非我弄错了)。对于“12345678”,我得到了“12”、“23”、“34”等。谢谢。那里有一个拼写错误。修复了
String w = "12345678";
if (w.length() % 2 == 0) {
    for(int i= 0; i<w.length(); i+=2)
        System.out.println(""+w.charAt(i)+w.charAt(i+1));
}
12
34
56
78
 for(int i= 1; i<w.length(); i+=2){
     System.out.println(w.charAt(i-1) +""+ w.charAt(i));
 }
for(String subStr : Splitter.fixedLength(2).split(w)){
    System.out.println(subStr);
}