Я изменил вопрос, проблема, с которой я сталкиваюсь, связана с возвратом. Кажется, я не могу правильно вернуть имя и телефон из метода 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.