2016-10-15 2 views
0

Я новичок в Java. Как вы добавляете данные String в объект «myData» и распечатываете его содержимое в основном?Java: Как вы добавляете данные в объект?

public class myData { 
    static String[] myArray = new String[] { "Mimi Rudolph", "minirudolph" }; 

    public static String[] cutName(String string) { 
    return string.split(" "); 
    } 

    String[] fullName = cutName(myArray[0]); 
    String skype = myArray[1]; 
    String github = null; 
    Object myData = new Object(); 

    public myData(String[] fullName, String skype, String github) { 
    this.fullName = fullName; 
    this.skype = skype; 
    this.github = github; 
    } 

    public static void main(String[] args) { 

    Object myData = new Object(); 
    } 
} 

ответ

1

@Tai, я думаю, вы пропустили некоторые понятия в вашем код. Когда Java является объектно-ориентированным языком программирования, вы должны избегать использования методов static в своих методах, когда вы хотите иметь новый экземпляр класса.

Для вызова методов с static, вам не нужен новый экземпляр объекта (можно назвать его как MyData.cutName, например.

С другой стороны, конструкторы будут доступны при создании нового экземпляра вашего объекта.

Я считаю, что вы можете избавиться от массивов, но я держал его в методе cutName. вы могли бы что-то вроде этого.

public class MyData { 
    private String fullname; 
    private String skype; 
    private String github; 

    public MyData(String fullname, String skype, String github) { 
     this.fullname = fullname; 
     this.skype = skype; 
     this.github = github; 
    } 

    public String getFullname() { 
     return this.fullname; 
    } 

    public String getSkype() { 
     return this.skype; 
    } 

    public String getGithub() { 
     return this.github; 
    } 

    public String[] cutName(String string) { 
     return string.split(" "); 
    } 

    @Override 
    public String toString() { 
     return "Fullname: " + this.fullname + "; Skype: " + this.skype + "; Github: " + this.github; 
    } 

    public static void main(String[] args) { 
     MyData myData = new MyData("Mimi Rudolph", "minirudolph_skype", "minirudolph_githnub"); 
     System.out.println("First name: " + myData.cutName(myData.getFullname())[0]); 
     System.out.println("Last name: " + myData.cutName(myData.getFullname())[1]); 
     System.out.println(myData); 
    } 
} 

в выход будет:

First name: Mimi 
Last name: Rudolph 
Fullname: Mimi Rudolph; Skype: minirudolph_skype; Github: minirudolph_githnub 

Наличие атрибутов в вашем классе и установка его из нового экземпляра помогут вам повторно использовать.

Надеюсь, это поможет.

+0

спасибо! это именно то, что я хотел! :) – Tai

1

Вам нужно просто создать экземпляр вашего класса myData в следующем:

public static void main(String[] args) { 
    myData myData = new myData(myArray, "skype", "github"); 
    ... 
} 

Чтобы распечатать его содержимое можно переопределить метод toString(), например, так:

@Override 
public String toString() { 
    return "myData{" + 
     "fullName=" + Arrays.toString(fullName) + 
     ", skype='" + skype + '\'' + 
     ", github='" + github + '\'' + 
     ", myData=" + myData + 
     '}'; 
} 

Затем вы сможете распечатать свой контент, используя System.out.println(myData).

Таким образом, окончательный код будет выглядеть следующим образом:

public class myData { 
    ... 
    @Override 
    public String toString() { 
     ... 
    } 

    public static void main(String[] args) { 
     myData myData = ... 
     System.out.println(myData); 
    } 
} 
1

Я думаю, что вы ищете что-то вроде этого:

public class MyData { 

private static final String[] myArray = new String[]{"Mimi Rudolph", "minirudolph"}; 

String[] fullName = cutName(myArray[0]); 
String skype = myArray[1]; 
String github = null; 
Object myData = new Object(); 

private static String[] cutName(String string) { 
    return string.split(" "); 
} 

public MyData(String[] fullName, String skype, String github) { 
    this.fullName = fullName; 
    this.skype = skype; 
    this.github = github; 
} 

public static void main(String[] args) { 
    MyData myData = new MyData(myArray, "Skype string goes here", "githun string goes here"); 
    System.out.println(myData.fullName); 
    System.out.println(myData.github); 
    System.out.println(myData.skype); 
} 
} 
1

Обычно вы можете добавить строку объекта с помощью следующего простого примера:

String a = "abc"; 
Object b = a; 
System.out.println(b); 

Если вы хотите назначить полный массив строк в MyData объект, то вам необходимо сделать следующее:

Object[] myData = new Object[myArray.length]; 
     for(int i=0;i<myArray.length;i++){ 
      myData [i] = myArray[i]; 
      System.out.println("MyData Object Array holding strings data: "+myData[i]); 
     } 

в вас основной метод, вам необходимо изменить объект объекта массивы первых: с - Object myData = new Object(); TO: Object[] myData = new Object[myArray.length];

Смежные вопросы