Как вернуть несколько массивов из метода - PullRequest
0 голосов
/ 18 сентября 2019

Я изменил вопрос, проблема, с которой я сталкиваюсь, связана с возвратом. Кажется, я не могу правильно вернуть имя и телефон из метода addcontact в main.

Мне нужно вернуть имя ителефон к основному методу и обновите при необходимости.Объект [] казался хорошим вариантом, но я не могу заставить его работать должным образом.


package asstask3;

import java.util.*;

public class AssignmentTask3
{
    static Scanner input = new Scanner( System.in );

    public Object[] addcontact(String[] name, String[] phone, int count)
    {
        if ( count == 30 )
        {
            System.out.println( "No more contacts can be added" );
            return null;
        }
        else
        {
            System.out.println( "Enter the name:" );
            name[ count ] = input.next();

            System.out.println( "Enter the phone:" );
            phone[ count ] = input.next();
            count++;
        }
        return new Object[]{name, phone};
    }

    public boolean updatecontact(String[] name, String[] phone, String upname, int count)
    {
        for ( int i = 0; i < count; i++ )
        {
            if ( name[ i ].equals( upname ) )
            {
                System.out.println( "Enter to update phone:" );
                phone[ i ] = input.next();
                return true;
            }
        }
        return false;
    }

    public void displaymenu()
    {
        System.out.println( "1. Add New Contact" );
        System.out.println( "2. Update Existing Contact" );
        System.out.println( "0. Exit" );
    }

    public static void main(String []args)throws Exception
    {
        AssignmentTask3 Astask = new AssignmentTask3();
        String name[] = new String[ 30 ];
        String phone[] = new String[ 30 ];

        int count = 1;

        do
        {
            Astask.displaymenu();
            int x = input.nextInt();
            if ( x == 1 )
            {
                Object[] add = Astask.addcontact( name, phone, count );
                String ss = add[1].toString();

                System.out.println( "Name" +name + "Phone"+ phone + "Con" + ss );

            }
            if ( x == 2 )
            {
                System.out.println( "Enter name to update:" );
                String upname = input.next();
                Astask.updatecontact( name, phone, upname, count );
            }
            if ( x == 0 )
            {
                System.exit( 0 );
            }
        } while ( true );

    }
}

Имя [Ljava.lang.String; @ 5010be6Phone [Ljava.lang.String; @ 685f4c2eCon [Ljava.lang.String; @ 5010be6

это то, что я получаю из оператора печати после выполнения метода addcontact.

...