gpt4 book ai didi

java - 如何打印一个也有双变量的字符串数组?

转载 作者:行者123 更新时间:2023-11-29 08:34:32 24 4
gpt4 key购买 nike

已编辑以删除多余的代码并显示我收到的确切错误。

我试图以网格格式(如电子表格)显示我的数组。我已经将它声明为一个字符串数组,这样我就可以使用 readLine 和 split 但是 7 列中的 6 列是 double 的。我不断收到所有数组变量的不兼容类型错误。更具体地说:不兼容的类型:int 无法转换为字符串,无法比较的类型 int 和 string 以及不兼容的类型 string 无法转换为 double 我是新手,当我在这里研究时,我找不到如何解决这个问题。这是我的代码:

         while(s != null) {
array = s.split(delimiter);
dates = array[0];
dates = Integer.parseInt(array[0]);
double[] nums = new double[array.length];
for (int i = 0; i < nums.length; i++) {
nums[i] = Double.parseDouble(array[i]);
}
if(dates != 0) {
open = array[1];
high = array[2];
low = array[3];
close = array[4];
adjClose = array[5];
volume = array[6];

最佳答案

Java 是一种静态类型语言。你不能只拿一根绳子假装它是双倍的。 String[] 变量总是将包含字符串。它可能包含看起来像 double 的字符串,但它们始终是字符串。

String[] array = ...;
double x = array[0];

这是一个类型错误,因为我们从数组中提取一个字符串并要求系统简单地假装它是一个 double ,但它不会这样做。

String[] array = ...;
double x = Double.parseDouble(array[0]);

这会将字符串值转换为 double 值。如果您获得的数据来自可靠的来源(例如,如果它用于类并且您的老师 promise 数据是有效的),那很好。但是如果数据来自用户或其他来源,Double.parseDouble 将在数据无效时抛出异常,您需要考虑在特定情况下处理该异常的正确方法。

为了完整起见,这里进行相反的转换。

String string = x.toString();

任何对象(以及通过 Java 编译器的技巧,任何原语)都可以调用 toString,这会将对象转换为字符串。

关于java - 如何打印一个也有双变量的字符串数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45314441/

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