Ich möchte das "i" von der letzten Methode zur Hauptmethode als Index zurückgeben. Ich kann nicht herausfinden, wie man das "i" zurückgibt, da es in der if-Anweisung eingeschlossen ist. Der Code soll dem Benutzer mitteilen können, wo sich der Name im Array befand.Wie zeige ich den Index eines bestimmten Objekts an?
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)' findet? Ich verstehe nicht, was du meinst. – Igorzovisk
Ich möchte ich zurückgeben, also werde ich den Index haben, wo es sagt "int Index = Suche (nameToLookFor) –
Es gibt eine Reihe von Möglichkeiten, um diese Art von Problem zu lösen: (1)" Rückkehr "es von der Methode als vorgeschlagen in Tims Antwort, die oft funktioniert: (2) deklariere "int i;" außerhalb der Schleife und verwende nicht "int" in der for-Anweisung; (3) deklariere eine andere Variable und weise ihr "i" zu . – ajb