如何在数组中仅打印偶数或奇数字符?

德里克

可以说我有一个字符串:“救火车”。然后,我将该字符串分成单个字母,然后将它们放入名为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]));
        }
    }
}
佩佩特卡

只是代码中的一个小错误:

您不需要数组中第一个值来初始化循环变量i,只需要您要循环开始索引值即可。

一个棘手的事情要记住的是,索引从0开始,但我们人类从1数(我没有在回答的第一个编辑这个错误太)因此与characterss甚至序将打印时起始值是奇数

索引编制的开始是一个非常常见的问题,必须牢记在心...

另外,您可以直接打印字符,这里不需要Arrays.toString()方法:

System.out.println(t[index]);

足够。

奇数字符:设置i为0:这将打印第1、3 ...个字符

       for(int i = 0; i < t.length; i = i + 2){
            System.out.println(t[i]);
        }

偶数字符:设置i为1:将打印第2个,第4个...字符

       for(int i = 1; i < t.length; i = i + 2){
            System.out.println(t[i]);
        }

消除阵列

另外,您甚至不需要创建char数组,可以为此使用String.charAt(int index)

        String even_odd = sc.next();

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

将其提升到一个新的水平

另外,要特别好,您可以将其提取为一个函数,然后重用该函数:

private static void printChars(String input, boolean even) {
        int i = 0;
        if(even) { //if we need the even chars, start from 1;
          i=1;
        }
        for(; i < input.length(); i = i + 2){
            System.out.println(input.charAt(i));
        }
}

然后您的主要方法将是这样的:

    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));

        //calling the function for even numbers
        printChars(even_odd, true);

        //calling the function for odd numbers
        printChars(even_odd, false);
    }

记住重复是不好的重用->很好

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Java中打印字符串数组的偶数和奇数位置字符?

JavaScript中数组的每个元素中的大写偶数字符和小写奇数字符

从字符串打印偶数和奇数字符的程序

如何在数组C ++中使用输入用户获取奇数和偶数之和

如何在字符串中大写偶数字母和小写奇数字母?

如何从奇数和偶数整数数组中仅对奇数整数排序并仅显示排序的奇数整数?

如何仅打印偶数页或奇数页(HP LaserJet 1018)

在数组中对偶数和奇数排序

如何从数组中获得偶数或奇数行?

如何在数组中输入数字

如何在跳过数字时通过搜索数组来分隔奇数和偶数范围

如何在数组中打印一个唯一的数字

我如何在javascript中打印偶数个子数组

如何检查数字中的连续数字是偶数还是奇数?

javascript数字数组中的奇数和偶数分离

如何在数组中重复字符

如何在数组中(在Powershell中)使用数字字符串进行操作?

如何在Matlab中将字符数组的偶数和奇数索引重新分配给新的较小字符数组?

如何知道Swift中的数字是奇数还是偶数?

打印数组的奇数和偶数元素

在Java中,如何在数组中存储大量数字?

JavaScript - 如何在数组中打印输入?

如何在数组中打印特定键(Perl)

如何在数组中每个单词之间打印空格

如何在数组中打印所选名称?

如何在数组中打印条件语句

如何在数组中打印回文数和质数

如何在数组中打印所需数量的元素?

如何只打印数组中的偶数?