2

文字列「firetruck」があるとしましょう。そして、その文字列を個々の文字に分割し、たとえば T という配列に入れました。T[] は {f,i,r,e,t,r,u,c,k} のようになります。印刷ステートメントが「frtuk」のように見え、奇数が「ierc」のように見えるように、偶数文字を印刷するにはどうすればよいですか。これは私がこれまでに得たものです:

import java.util.Scanner;
import java.util.Arrays;
public class StringFun {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        String even_odd = sc.next();
        char[] t = even_odd.toCharArray();
        System.out.println(Arrays.toString(t));

        //I can't get this next part to work.
        for(int i = t[0]; i < t.length; i = i + 2){
            System.out.println(Arrays.toString(t[i]));
        }
    }
}
4

9 に答える 9

0

ちょっとしたミス!あなたは近かった。これで修正されるはずです。

 for(int i = 0; i < t.length; i = i + 2){
于 2013-09-13T15:47:37.123 に答える
0

for ステートメントにエラーがあります。int i = t[0] ではありませんが、int i = 0; である必要があります。それ以外の場合は、配列のダート位置にある文字の ASCII 値を取ります。

于 2013-09-13T15:47:37.307 に答える
0

これにより、文字列がループされ、必要なものが出力されます。

 public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);

    String even_odd = sc.next();

    System.out.println("Odd Characters");
    for(int i = 0; i<even_odd.length(); i++){
        if(i%2==0){
            System.out.println(even_odd.charAt(i));
        }   
    }

    System.out.println("Even Characters");
    for(int i = 0; i<even_odd.length(); i++){
        if(i%2==1){
            System.out.println(even_odd.charAt(i));
        }   
    }
}
于 2013-09-13T15:48:20.123 に答える
0

java.io をインポートします。; java.util をインポートします。;

パブリック クラス ソリューション {

/**
 * 
 * @param args
 */
public static void main(String[] args) {
    /* Enter your code here. Read input from STDIN. Print output to STDOUT. 
     * Your class should be named Solution. */
    Scanner scanner = new Scanner(System.in);
    int totalStrings = scanner.nextInt();

    String nextString = null;
    while(scanner.hasNext()) {
        nextString = scanner.next();
        int stringsCount = totalStrings;
        Solution stringInterleaving = new Solution();
        int startIndexEven=0,incrementEven=2;
        int startIndexOdd=1,incrementOdd=2;
         int printedCharCountEven = 0;
        int printedCharCountOdd = 0;
        if(nextString!=null && nextString.length()>0) {
             printedCharCountEven =
                stringInterleaving.printChars(nextString, startIndexEven,incrementEven);
               if(printedCharCountEven>0) {
                 System.out.print(" ");
               }
            printedCharCountOdd =
                stringInterleaving.printChars(nextString, startIndexOdd,incrementOdd);
        }
        if(printedCharCountEven>0 || printedCharCountOdd>0) {
                System.out.println();
        }
    }
    if(scanner!=null) {
        scanner.close();   
    }
}

    /**
 * 
 * @param input
 */
private int printChars(String input,int startIndex,int increment) {
        int printedCharCount = 0;
        if(input!=null && input.length()>0) {
            for(int i=startIndex;i<input.length();) {
               System.out.print(input.charAt(i));
                i=i+increment;
                printedCharCount++;
            }
        }  
    return printedCharCount;
}

}

于 2018-03-25T05:09:44.323 に答える