gpt4 book ai didi

java - 在java中排序 double

转载 作者:行者123 更新时间:2023-11-29 07:55:36 25 4
gpt4 key购买 nike

import java.io.*;
import java.util.*;

public class Main {
public static void main(String[] args) throws Exception {
BufferedReader in = new BufferedReader(new FileReader(new File(args[0])));
String line;

while ((line = in.readLine()) != null) {
StringTokenizer st = new StringTokenizer(line);
int len = st.countTokens();
Double[] seq = new Double[len];
for (int i = 0; i < len; i++)
seq[i] = Double.parseDouble(st.nextToken());
Arrays.sort(seq);
for (int i = 0; i < len; i++) {
if (i > 0) System.out.print(" ");
System.out.print(seq[i]);
} System.out.print("\n");
}
}
}

所以我正在尝试解决这个 CodeEval 问题 (https://www.codeeval.com/open_challenges/91/),但我的解决方案并未通过所有测试用例。我认为我的输出方法是正确的(数字之间的空格,尾随换行符)。我无法弄清楚排序或其他任何地方可能发生了什么。

当使用 float 时,解决方案显然也不正确。

最佳答案

我也认为这是一个打印问题。根据示例 I/O,输出似乎要求每个数字正好 3 位小数。但是,如果您打印出类似 70.920 的 double (示例输入之一),它将显示为 70.92

double d = 70.920;
System.out.println(d);
System.out.printf("%.3f", d); // <-- try this
70.9270.920

注意第二个输出如何与示例输出的格式一致,而第一个不一致。

关于java - 在java中排序 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17976334/

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