gpt4 book ai didi

java - 如果它更接近我设置的值,有没有办法打印它?

转载 作者:行者123 更新时间:2023-12-02 01:14:26 25 4
gpt4 key购买 nike

我正在寻找一种按最小到最大值打印多个数据值的方法,我想知道是否有办法做到这一点。就像我想打印输入值,排序条件是如果任何一个输入值接近1,则首先打印它,然后打印其余的值,具体取决于它们与1的接近程度。例如。

ps Arrays.sort(); 会弄乱我正在编写的代码,这就是为什么我要问是否有办法先打印一个值(如果它接近 1 或任何我想要的值)设置条件。

除了任何其他语言之外,给我 Java 语言的答案对我很有帮助。

Scanner sc = new Scanner(System.in);
int[] at = new int[5];

for(int a = 0;a<5;a++){
System.out.print("Enter number: ");
at[a]=sc.nextInt();
System.out.println();
}

for(int b = 0;b<5;b++){
if(at[b]________){ //what condition should I put here? read from above to know what kind of condition I want. Thanks
System.out.println(at[b]);
}
}

如果输入值是9030708050

输出应该是

3050708090

最佳答案

更换怎么样

for(int b = 0;b<5;b++){
if(at[b]________){ //what condition should I put here? read from above to know what kind of condition I want. Thanks
System.out.println(at[b]);
}
}

IntStream.of( at ).mapToObj(Offset::new).sorted((a,b) -> { return Math.abs( a.value - center ) - Math.abs( b.value - center );} ).mapToInt( x -> x.value ).forEach( System.out::println);;

你还需要一个像这样的辅助类

public static class Offset {
public int value = 0;
Offset( int value ) {
this.value = value;
}
}

它将保持原始数组顺序不变,并仍按升序打印它。

请注意,比较器仅考虑距中心值的距离,因此负偏移和正偏移相等。

干杯

关于java - 如果它更接近我设置的值,有没有办法打印它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57666227/

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