0

このコードを実行すると、次のような名前の長いリストしか取得できません。

Jones, Jon BS, Wells, Lisa HS, Ryes, Ric DR

しかし、私が望むのは、それぞれを個別に印刷することです

Jones, Jon BS
Wells, Lisa HS
Ryes, Ric DR

私はこのプログラムに2つのクラスを使用しています。

import javax.swing.*;
import java.util.List;
import java.util.ArrayList; 
import java.util.Arrays;

public class someName
{
public static void main (String[] args)
    {
....//set all my variables and prompted user for number of Inputs
        {
        fName = JOptionPane.showInputDialog(null,"Enter "+i+" First Name: ");
        lName = JOptionPane.showInputDialog(null,"Enter "+i+" Last Name: ");
        level = JOptionPane.showInputDialog(null,"Enter "+i+" Highest Level of Degree: "); 
        someClass t = new someClass(fName,lName,level);
        listOfName[i] = t;
        }
    for(int i = 0; i<numPerson; i++)
        {
        System.out.println(Arrays.toString(listOfName));
        }
    }       
}

私が変更するとき

System.out.println(Arrays.toString(listOfName));    

System.out.println(Arrays.toString(listOfName[i]));

エラーが表示されます

java:29: error: no suitable method found for toString(someClass)

ありとあらゆる助けをいただければ幸いです。

4

6 に答える 6

2

これを変える:

    for(int i = 0; i<numTutor; i++)
        {
        System.out.println(Arrays.toString(listOfTutor));
        }

これに:

    for(int i = 0; i<numTutor; i++)
    {
        System.out.println(listOfTutor[i]);
    }

つまり、常に印刷するのではなく、listOfTutor numTutor各要素を 1 回印刷します。

または、さらに良いのは、強化された for ループを使用することです。

    for(final Tutor tutor : listOfTutor)
    {
        System.out.println(tutor);
    }

(これは同じことを行いますが、 and は必要ありませんi) numTutor

于 2013-03-21T20:36:01.280 に答える
0

代わりに試しましたか?

System.out.println(listOfTutor[i]);

また

System.out.println(listOfTutor[i].toString());
于 2013-03-21T20:38:33.573 に答える
0

次のコードを使用

import javax.swing.*;
import java.util.List;
import java.util.ArrayList; 
import java.util.Arrays;

public class Stipend
{
public static void main (String[] args)
    {
    String fName = "";
    String lName = "";
    String level= "";
    String ans;
    String numStud;
    ans = JOptionPane.showInputDialog(null,"Enter the number of Tutor's: ");
    int numTutor = Integer.parseInt(ans);
    Tutor [] listOfTutor = new Tutor [numTutor];
    for (int i = 0; i<numTutor; i++)
        {
        fName = JOptionPane.showInputDialog(null,"Enter Tutor "+i+" First Name: ");
        lName = JOptionPane.showInputDialog(null,"Enter Tutor "+i+" Last Name: ");
        level = JOptionPane.showInputDialog(null,"Enter Tutor "+i+" Highest Level of Degree: "); 
        Tutor t = new Tutor(fName,lName,level);
        listOfTutor[i] = t;
        }
    for(int i = 0; i<numTutor; i++)
        {
            System.out.println(listOfTutor[i].toString());
        }
    }       
}


import java.util.Arrays;

public class Tutor
{
String firstName;
String lastName;
String degreeLevel;
String numStudents;
String FormalName;
public Tutor(String firstName, String lastName, String degreeLevel)
    {
    this.firstName = firstName;
    this.lastName = lastName;
    this.degreeLevel = degreeLevel;
    this.numStudents = numStudents;
    this.FormalName = lastName +", "+ firstName +" "+ degreeLevel;
    }   
public String toString()
    {
    return(FormalName);
    }   
}

この助けを願っています。

于 2013-03-21T20:40:02.323 に答える
0
 for(int i = 0; i<numTutor; i++)
        {
        System.out.println(listOfTutor[i]);
        }
    }     
于 2013-03-21T20:36:48.947 に答える
0

これでうまくいくと思います。:) それが役に立てば幸い。

for(int i=0; i<listOfTutor.length; i++){ 
   System.out.println(listOfTutor[i].FormalName);
}
于 2013-03-21T20:47:01.813 に答える
0

こうやって…

for(int i=0; i<listOfTutor.length; i++) {
    System.out.println(listOfTutor[i]);
}
于 2013-03-21T20:36:10.200 に答える