【问题标题】:how to replace an integer array with characters in java如何在java中用字符替换整数数组
【发布时间】:2020-04-24 14:47:06
【问题描述】:

int = 0111254

用'z'替换所有的0

用'p'替换奇数

用'q'替换偶数

输出应该是zpppqpq

我的部分代码......

public static void main(String[] args) {
    int num;
    Scanner sc=new Scanner(System.in);
    num=sc.nextInt();
    int temp;
    int b[]=new int[10];
    char a[]=new char[10];


    for(int i=0;i<b.length;i++) {
        while(num!=0)
        {
            temp=num%10;

            b[i]=temp;

            num=num/10;
        }
    }

    for(int i=0;i<b.length;i=i+2)
    {
        if(b[i]==0)
        {
            b[i]=115;
        }

        else if(b[i]%2!=0)
        {
            b[i]=113;
        }
        else if(b[i]%2==0) {
            b[i]=112;
        }
    }

    for(int i=0;i<a.length;i++)
    {
        a[i]=(char)b[i];
    }

    for(int i:a)
    {
        System.out.print((char)i);
    }

它给出了错误的输出 q s s s

【问题讨论】:

    标签: java arrays integer character


    【解决方案1】:

    您可以将该整数转换为字符串,然后使用String.replace()

    String numberString = ""+0111254;
    // Replace all 0 chars with z
    numberString.replace('0','z');
    // etc...
    

    【讨论】:

    • 是这样的吗?因为 b[ ] 是这里的整数数组 for(int i=0;i
    • 奇数和偶数怎么办​​ 如何用字符替换它们?
    【解决方案2】:

    您可以将数字转换为字符串,然后将字符串转换为数组,并使用 for 循环,获取单个数字并解析为整数,然后应用您的逻辑。

    public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            String[] ary = String.valueOf(sc.next()).split("");
    
            StringBuilder answer = new StringBuilder();
    
            for (String n : ary) {
                int value = Integer.parseInt(n);
                if (value == 0) {
                    answer.append("z");
                } else if (value % 2 == 0) {
                    answer.append("q");
                } else {
                    answer.append("p");
                }
            }
    
            System.out.print(answer.toString());
        }
    

    【讨论】:

      猜你喜欢
      • 2017-04-25
      • 1970-01-01
      • 2021-03-30
      • 2020-09-21
      • 2017-09-22
      • 1970-01-01
      • 2013-11-08
      • 1970-01-01
      • 2014-12-29
      相关资源
      最近更新 更多