嘿,我是Java新手,在数组方面一直有困难。我正在尝试使用数组或数组列表来存储我的测试类中的值列表。但是我正在讨论如何将set1和set2添加到我的数组列表中。
我有一个测试班
Data set1 = new Data(new double[]{1, 2, 3, 4, 5});
System.out.println("Set1: " + set1);
Data set2 = new Data(new double[]{-5, -4, -3, 1});
System.out.println("Set2: " + set2);
然后我的数据类
import java.util.ArrayList;
public class Data {
public Data(double[] sets) {
ArrayList<Double> sets = new ArrayList<Double>();
}
}
也许这对你有用:
public Data(double[] array) {
sets = new ArrayList<Double>(Arrays.asList(array));
}
public String toString() {
return sets.toString();
}
首先将数据类创建为:
class Data
{
ArrayList<Double> obj;
Data(Double var[])
{
obj=new ArrayList<Double>();
for(int i=0;i<var.length;i++)
{
obj.add(var[i]);
}
}
}
现在,将该数据类的对象创建为:
Double val1[]={1.0,2.0,3.0,4.0};
Data set1=new Data(val1);
Double val2[]={1.0,25.0,36.0,44.0};
Data set2=new Data(val2);
现在,将数据类的这些对象添加到数组列表中,如下所示:
ArrayList<Data> sets=new ArrayList<Data>();
sets.add(set1);
sets.add(set2);
您的问题出现在<code>数据
import java.util.ArrayList;
public class Data {
public Data(double[] sets) {
ArrayList<Double> sets = new ArrayList<Double>();
}
}
set
变量在构造函数返回后消失,因此在那里声明它是没有用的。您应该将声明移动到类级别,并在构造函数中为其分配正确的值:
ArrayList<Double> sets;
public Data(double[] sets) {
this.sets = new ArrayList<Double>();
for (double d : sets) {
this.sets.add(d);
}
}
由于您要打印Data
,因此需要覆盖toString
方法:
@Override
public String toString() {
return sets.toString();
}
问题内容: 我在用Java工作。 我通常会这样设置一些对象: 问题是:在此示例中是否等于,按原样我可以假定对未初始化的对象进行空检查将是准确的? 问题答案: 正确,未显式初始化的引用类型的静态成员和实例成员都由Java 设置为。相同的规则适用于数组成员。 根据Java语言规范的第4.12.5节: 变量的初始值 程序中的每个变量在使用值之前都必须具有一个值: 每个类变量,实例变量或数组组件在创建时均
问题内容: 我只是看了这个SO Post: 但是,哥伦比亚大学教授的笔记按以下方式进行。请参阅第9页。 哪种方法正确?他们似乎在说不同的话。 特别是在注释版本中没有。 问题答案: 这根本不会在Java中编译(因为您正在将数组类型的值分配给非数组类型的变量): 被以下错误拒绝(另请参见:http : //ideone.com/0jh9YE): 要进行编译,请声明其类型,然后在其上循环:
问题内容: 我想初始化一个BlackJack游戏的Player对象数组。我已经阅读了很多有关初始化原始对象(例如int数组或字符串数组)的各种方法的信息,但是我无法将此概念理解为我在此处尝试做的事情(见下文)。我想返回一个初始化的Player对象数组。要创建的播放器对象的数量是一个整数,我向用户提示。我以为构造函数可以接受一个整数值并在初始化Player对象的一些成员变量时相应地命名播放器。我
我有以下JSON文件要反序列化
问题内容: 如果没有明确指出它是String [],那么第一次调用someMethod怎么不编译? 使用数组初始化器创建String []数组很好,但是不能使用它传递参数。花括号是否以其他方式用于传递参数,从而使我期望其表现出轨? 编译器错误如下: Moo类型的someMethod(String [])方法不适用于参数(字符串,字符串,字符串) 问题答案: 您只能在声明数组变量或在数组创建表达式(