2016-10-15 4 views
0

Ich bin neu in Java. Wie fügen Sie String-Daten in ein Objekt "myData" ein und drucken den Inhalt davon in main aus?Java: Wie fügen Sie Daten in ein Objekt ein?

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(); 
    } 
} 

Antwort

1

@Tai, ich glaube, Sie fehlen einige Konzepte in Ihrem Code. Sobald Java eine objektorientierte Programmiersprache ist, sollten Sie vermeiden, static in Ihren Methoden zu verwenden, wenn Sie eine neue Instanz einer Klasse haben möchten.

mit static Methoden aufrufen, können Sie es als MyData.cutName, rufen Sie zum Beispiel keine neue Instanz eines Objekts müssen (können.

Auf der anderen Seite wird Konstrukteurs zugegriffen werden, wenn Sie eine neue Instanz erstellen des Objekts.

glaube ich, Sie loszuwerden, die Arrays zu bekommen, aber ich hielt es in Ihrem cutName Methode. Sie so etwas wie dieses.

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); 
    } 
} 

die

haben könnte Ausgabe wäre:

Die Attribute in Ihrer Klasse und die Einstellung von der neuen Instanz werden Ihnen helfen, Wiederverwendbarkeit zu haben.

Ich hoffe, es hilft.

+0

danke! genau das wollte ich! :) – Tai

1

Sie müssen einfach eine Instanz der Klasse erstellen myData als nächste:

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

seinen Inhalt drucken Sie die Methode toString() wie dies beispielsweise außer Kraft setzen könnte:

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

Dann können Sie den Inhalt mit System.out.println(myData) ausdrucken.

So ist der endgültige Code würde wie folgt aussehen:

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

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

Ich glaube, Sie suchen nach etwas wie folgt aus:

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

Normalerweise können Sie String hinzufügen, indem Sie das folgende einfache Beispiel zum Objekt:

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

Wenn Sie einen kompletten String Array myData Objekt zuweisen mögen, dann müssen Sie folgendes tun:

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]); 
     } 

In Ihrer Haupt-Methode, müssen Sie Objekt zu Objekt von Arrays ändern, zuerst: von - Object myData = new Object(); TO: Object[] myData = new Object[myArray.length];

Verwandte Themen