最後のメソッドの "i"をメインメソッドにインデックスとして返したいとします。 if文で囲まれているので、 "i"を返す方法はわかりません。 コードは、名前が配列内にあった場所をユーザーに伝えることができます。特定のオブジェクトのインデックスを表示するには?
import java.util.*;
import java.io.*;
/**
* A simple array activity where the user will provide data for an array
that will be stored into an array. It will allow the user to search
any name in the array.
Katelynn Schoenrock
Ken Nguyen
Computer Science 1301
Activity 2
11/29/2016
*/
public class Array{
private static Student[] data = new Student[10];
public static void main(String[] args){
Scanner keyboard = new Scanner(System.in);
for(int i = 0; i< data.length; i++){
System.out.println("Enter Student name");
String name = keyboard.nextLine();
System.out.println("Enter Birthdate");
String birthDate = keyboard.nextLine();
System.out.println("Enter Address");
String address = keyboard.nextLine();
new Student(name, birthDate, address);
data[i] = new Student(name, birthDate, address);
}
String nameToLookFor = create();
int Index = Search(nameToLookFor);
System.out.println("Object's Index: " + Index);
}
/**
* This method obtains the user's input and returns the Student object
* @param return nameToLookFor
*/
public static String create(){
Scanner keyboard = new Scanner(System.in);
System.out.print("Enter a name to search");
String nameToLookFor = keyboard.nextLine();
return nameToLookFor;
}
/**
* This method allows for the user to search any given name.
* @param return The index of the object
*/
public static int Search(String nameToLookFor){
for(int i = data.length - 1; i >= 0; i--){
if(data[i].getName().equalsIgnoreCase(nameToLookFor)){
System.out.println(data[i]);
}
}
}
}
'のSystem.out.println(i)を見つけたときに分割する必要がありますか?私はあなたが何を意味するかは分かりません。 – Igorzovisk
私は私に戻りたいと思いますので、 "int Index = Search(nameToLookFor) –
のようなインデックスがあります。この種の問題を解決する方法はいくつかあります。(1)メソッドから' (2)ループの外側で 'int i 'を宣言し、' for'文で 'int'を使わない、(3)他の変数を宣言して' i'を代入する。 – ajb