0

我的家庭作业即将结束,我一生都无法弄清楚如何做到这一点。基本上我有一个充满空值的数组,它们都是 Hello 类型。我需要用我创建的一堆字符串填充这个数组。这是我得到的错误:

incompatible types
required: Hello
found: String

我可以更改我的字符串以键入 Hello 吗?还是我在这里完全缺少其他东西?

这是我的数组的初始化方式:我将 i 更改为 3 以使其更简单

Hello[] array = new Hello[3];

我没有做任何花哨的事情来填充数组:

test = "1 two three";
Hello[0] = test;
4

3 回答 3

0

对象是如何Hello构造的?我的猜测是它需要一个String论点。所以你会做这样的事情:

Hello hello = new Hello(myString);
myHelloArray[index] = hello
于 2013-03-03T06:35:50.293 回答
0

语句 Hello[] array = new Hello[3]; 声明您正在尝试创建 Hello Object 数组。所以数组中的每个元素只能指向 Hello 类的对象,在这里你试图将 String 类的对象分配给 Hello。您必须先创建 Hello 对象,然后分配给数组元素。

于 2013-03-03T07:10:29.917 回答
0

正如您在上面所描述的,下面的数组采用 Hello 类型是具有构造函数的类 Hello,该构造函数采用 String 类型元素和 MainHello 类,该类将具有 main 方法并将使用 Hello 类型数组以方便您使用我已覆盖 toString() ;) 希望它会帮助你,谢谢

public class Hello {

    String hello;

    Hello(String hello){        
        this.hello = hello;
    }

    @Override
    public String toString() {

        return hello;
    }

}

public class MainHello {

    public static void main(String[] args) {

         Hello[] helloArray = new Hello[4] ;
         helloArray[0] = new Hello("soumyaansh");
         helloArray[1] = new Hello("user1294377");
         helloArray[2] = new Hello("india");
         helloArray[3] = new Hello("Bangalore");

        for (Hello hello : helloArray) {
            System.out.println(hello.toString());
        }

    }
}
于 2013-03-03T07:14:06.120 回答