【问题标题】:Use toString on array of objects [duplicate]在对象数组上使用 toString [重复]
【发布时间】:2016-03-03 14:42:38
【问题描述】:
import java.io.*;

class Main0
{
    public static void main(String args[])
    {
        String onoma, epitheto, key01;
        short AriMit, EtosEis, AM, key02;
        int i, pos;
        Foititis pinakas[] = new Foititis(3);
        for (i = 0; i < pinakas.length; i++)
        {       
            System.out.println("Ola ta stoixeia na einai taksinomimena symfwna me ton Arithmo Mitroou." + "\n" + "Dwste Onoma.");
            do
            {
                onoma = FUserInput.getString();
                if (onoma == "x")
                    System.out.println("Mh egkyrh timh. Epanalagete");
            } while (onoma == "x");

            System.out.println("Dwste Epitheto.");
            do
            {
                epitheto = FUserInput.getString();
                if (epitheto == "x")
                    System.out.println("Mh egkyrh timh. Epanalagete");
            } while (epitheto == "x");

            System.out.println("Dwste Arithmo Mitrwou.");
            do
            {
                AriMit = FUserInput.getshort();
                if (AriMit == -1)
                    System.out.println("Mh egkyrh timh. Epanalagete");
            } while (AriMit == -1);

            System.out.println("Dwste Etos Eisagwghs.");
            do
            {
                EtosEis = FUserInput.getshort();
                if (EtosEis == -1)
                    System.out.println("Mh egkyrh timh. Epanalagete");
            } while (EtosEis == -1);

            pinakas[i] = new Foititis(onoma, epitheto, AriMit, EtosEis);
        }
        pos = 1;
        System.out.println(Foititis.toString(pos, pinakas));
    }
}

class Foititis      
{
    private String onoma, epitheto;
    private short AriMit, EtosEis;

    public Foititis (String on, String ep, short AM, short EE)
    {
        onoma = on;
        epitheto = ep;
        AriMit = AM;
        EtosEis = EE;
    }

    public String getEpwnymo()      //alles klaseis
    {
        return epitheto;
    }

    public String toString(int j, Foititis b[])
    {
        String emf;
        emf = b[j].onoma;
    }
}

class FUserInput        
 /*dedomenwn kateli3a na xrisimopoihsw thn "FUserInput" gia ola ta dedomena, anti na kanw "catch" to "exception" gia kathe scanner ksexwrista, kathws eixa skopo na xrisimopoihsw mono scanner)*/
{
    static String getString() 
    { 
        String line;
        InputStreamReader eisodosDouble = new InputStreamReader(System.in);
        BufferedReader br = new BufferedReader(eisodosDouble);
        try
        {
            line = br.readLine();
            return line;
        }
        catch(Exception e) 
        {   
            return "x";
        }
    }

    static short getshort() 
    { 
        String line;
        InputStreamReader eisodosDouble = new InputStreamReader(System.in);
        BufferedReader br = new BufferedReader(eisodosDouble);
        try
        {
            line = br.readLine();
            short i = Short.parseShort(line);
            return i;
        }
        catch(Exception e) 
        {   
            return -1;
        }
    }
}

这不是任何东西的重复,我不是在问我的字符串方程,而是在问我想使用的 toString 方法!!!

所以我有这段代码......它所做的只是创建一个类型为Foititis 的对象数组,命名为pinakas 并具有四个属性。如果您查看名为Foititis 的类,您会注意到toString 方法,我要做的就是使用toString 方法在屏幕上显示某些内容(在此示例中,它被简化为onoma 属性的数组对象)。请注意,我还想发送我想看到的数组的某个位置(pos -> j),在这个例子中,位置是固定的(设置为 1),但在实际代码中它不会。

我尝试编译它并得到这两个错误,第二个错误可能是合理的,因为我没有以正确的方式编写代码,但是第一个呢?我又做了同样的事情,我没有问题(在创建对象数组时)。

The error

【问题讨论】:

  • @MarounMaroun 尽管他的 if 和 while 中的 == "x" 应该替换为 .equals("x"),但这并不是他在问题中要问的。在他在底部链接的错误中,他的数组有问题(请参阅@mikea 下面的答案),并且他对非静态方法的静态调用有问题(@ 987654332@ 应该替换为@ 987654333@ 和Foititis 中的toString 方法应替换为public String toString(){ return onoma; }
  • @KevinCruijssen 非常感谢!有效!和

标签: java arrays string


【解决方案1】:

你正试图声明一个数组,所以它应该是:

Foititis pinakas[] = new Foititis[3];

【讨论】:

  • 真的吗?我怎么会错过...无论如何谢谢你
猜你喜欢
  • 1970-01-01
  • 2017-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多