gpt4 book ai didi

java - 如何识别两个不同输出中的相同数字

转载 作者:行者123 更新时间:2023-12-01 19:19:20 24 4
gpt4 key购买 nike

我被分配执行一个程序,用户输入两个整数,程序将能够以降序形式显示两个整数中相同的数字

例如

第一个输入:1122334455

第二个输入:1234567

输出将为:5 4 3 2 1

这是我尝试过的代码,但没有工作,因为我似乎无法在数组中存储值,或者可能我的逻辑是错误的,任何类型的帮助将不胜感激,谢谢!

import java.util.*;
public class Main {
public static void main (String[]args) {

Scanner input = new Scanner(System.in);
int a = input.nextInt();
String aa= a + "";
int b = input.nextInt();
String bb = b + "";
int[] cars = new int[aa.length()];
if ( aa.length() < bb.length() )
{
for ( int x = 0; x < aa.length(); x++ )
{
for (int y = 0 ; y < bb.length() ; y++ )
{
if ( aa.charAt(x) == bb.charAt(y) )
cars[x] = aa.charAt(x);
}
}

for ( int i = 0 ; i < cars.length; i++ )
{
if ( cars[i] != 0 )
System.out.println(cars[i]);
else {
}
}
}

}
}

最佳答案

好吧,你的 cicles 太多了,这非常简单,首先将任何输入转换为 char 数组,然后迭代它检查每个值是否包含在另一个输入中,如果包含则将其添加到一个新列表中将是您的结果并最终对该列表进行排序。

    String aa="1122334455";
String bb="1234567";
List<Integer> result = new ArrayList();

char[] aa_arr = aa.toCharArray();
for(char aa_ : aa_arr){
if(bb.contains(aa_+"") && !result.contains(Integer.parseInt(aa_+""))){
result.add(Integer.parseInt(aa_+""));
}
}

Collections.sort(result, Collections.reverseOrder());
System.out.println(result);

结果:

[5, 4, 3, 2, 1]

关于java - 如何识别两个不同输出中的相同数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59380257/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com