0

我已经声明了一个数组,如果我想给出一些细节,比如元素的名称、值,我应该输入什么?

import java.awt.*;

public class createNode {
private int id;
private String name;
private String value;

ClientDetail[] clDetails= new ClientDetail[1]

c1Details.id = client1;
c1Details.name = client1;

}

我把它做成一个函数,以便我可以在必要时调用它。而里面虽然数组里面只有1个元素,但元素会有名称,id,值。

怎么做 ?对不起,我是编程菜鸟。

4

4 回答 4

3

这不是数组声明int client = new int[1];。数组应该用特定类型声明,例如ClientDetail[] clDetails= new ClientDetail[10];,这里ClientDetail是自定义类型。ClientDetail 类型定义在哪里 -

public class ClientDetail{
   private int id;
   private String name;
   private int value;
   <setter and getter method>
}

您可以创建客户详细信息,例如 -

public ClientDetail[] createClientArray(){      
  Scanner in = new Scanner(System.in);
  System.out.print("Enter Number of Client -");
  int number= in.nextInt();
  ClientDetail[] clDetails= new ClientDetail[number];  
  for(int i=0;i<number;i++){
    ClientDetail cl = new ClientDetail();
    System.out.print("Enter Name -");
    cl.setName(in.next());
    System.out.print("Enter ID -");
    cl.setId(in.nextInt());
    System.out.print("Enter Value -");
    cl.setId(in.nextInt());
    clDetails[i] = cl;
  }
}
于 2012-11-07T10:31:31.027 回答
3

一个数组不会包含多个字段。数组是对象(或原语)的集合。似乎您想要一个包含字段名称、id 和值的对象数组。

首先创建你的对象

public class Element(){

  private String name;
  private String id;
  private String value;

  public Element(String name, String id, String value){
    this.name = name;
    this.id = id;
    this.value = value;
  }

  public String getName(){
    return this.name;
  }

  public String getId(){
    return this.id;
  }

  public String getValue(){
    return this.value;
  };

}

**创建对象后,您可以创建该对象的数组。

Element[] elements = {new Element("first", "1", "Value1"), new Element("second", "2", "Value2") };

创建数组后,您可以使用对象数组

for(Element element:elements){
   System.out.println(element.getName());
   System.out.println(element.getId());
   System.out.println(element.getValue());
}
于 2012-11-07T10:41:05.843 回答
2

创建一个对象类,该类的每个实例都具有所需的 getter 和 setter 属性。将它们放入对象类类型的数组中。对于我的以下代码,它将是DummyClass[] array = new DummyClass[desiredLength];

public class DummyClass{

    private String attribute1;
    private int attribute2;

    public DummyClass(String attribute1, int attribute2){
        this.attribute1 = attribute1;
        this.attribute2 = attribute2;
    }

    public int getAttribute1(){
        return attribute1;
    }

    public int getAttribute2(){
        return attribute2;
    }

    public void setAttribute1(String attribute1){
        this.attribute1 = attribute1;
    }

    public void setAttribute1(int attribute2){
        this.attribute2 = attribute2;
    }

}
于 2012-11-07T10:36:22.703 回答
1

我将这样做的方式是创建一个类客户端

public class Client {

  //declare some private variables
  private String name;
  private int id;
  private String value;

  // create getters and setters for the parameters
  public void setName(String name) {
    this.name = name;
  }
  public String getName() {
    return this.name;
  }
  public void setId(int id) {
    this.id = id;
  }
  public int getId() {
    return this.id;
  }
  public void setValue(String value) {
    this.value = value;
  }
  public String getValue() {
    return this.value;
  }


}

然后使用这个类来存储信息

    :
    :
public void createClientArray()
{
  // Create an ArrayList of Client
  ArrayList<Client> clients = new ArrayList<Client>();

  // Instantiate Client class to store the information
  Client clientObject = new Client();
  clientObject.setName("Client Name");
  clientObject.setId(1);
  clientObject.setValue("Any Value");

  // Add to the ArrayList
  clients.add(clientObject);

  // Store another client's information
  Client clientObject2 = new Client();
  clientObject2.setName("Client Name 2");
  clientObject2.setId(2);
  clientObject2.setValue("Any Value 2");
      :
      :

}
    :
    :

您可以在使用 ArrayList 的迭代器完成此代码时检查ArrayIndexOutOfBoundsException。

于 2012-11-07T10:45:49.203 回答