java
  • string
  • object
  • constructor
  • add
  • 2016-10-15 10 views 0 likes 
    0

    私はJavaを使い慣れています。どのようにオブジェクト "myData"に文字列データを追加し、メインの内容を印刷しますか?Java:オブジェクトにデータをどのように追加しますか?

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

    :あなたはこのように、たとえば方法toString()をオーバーライドすることができ、その内容を印刷するには

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

    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、私はあなたがあなたの中にいくつかの概念が欠けていると思う:

    public class myData { 
        ... 
        @Override 
        public String toString() { 
         ... 
        } 
    
        public static void main(String[] args) { 
         myData myData = ... 
         System.out.println(myData); 
        } 
    } 
    
    +0

    ありがとう!それはまさに私が望んでいたものです! :) – Tai

    1

    あなたは、単にmyDataとして次のクラスのインスタンスを作成する必要がありますその後、System.out.println(myData)を使用してそのコンテンツを印刷することができます。

    だから、最終的なコードは次のようになります。

    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

    を私はあなたがこのような何かを探していると思いますコード。 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 
    

    あなたのクラスの属性を持つ新しいインスタンスからそれを設定すると、あなたが再利用性を持っているのに役立ちます。

    希望します。

    1

    通常次のような簡単な例で、オブジェクトに文字列を追加することができます

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

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

    を使用すると、マイデータオブジェクトへの完全な文字列配列を割り当てる場合は、次の操作を行う必要がありますあなたの主な方法で

    は、あなたが最初の配列のオブジェクトにオブジェクトを変更する必要があります。 から - Object myData = new Object(); TO:Object[] myData = new Object[myArray.length];

    関連する問題