2016-06-09 13 views
-1

erstellen Klasse Schüler aufzuspalten mit folgenden Attributen: rollNo Namen MarksJava-Programm das Array basierend auf Markierungen

erstellen Klasse StudentDemo mit Hauptmethode. Deklariere ein Array von 5 Studentenobjekten in der Hauptmethode. Initialisieren Sie dieses Array. Deklarieren Sie eine andere Methode in dieser Klasse - splitStudentArray. Diese Methode verwendet das Student-Array und ein Zeichen als Eingabeparameter. Wenn das Eingabezeichen 'o' ist, gibt diese Methode ein Array von Schülern mit einem ungeraden Markenwert zurück. Wenn das Eingabezeichen 'e' ist, gibt diese Methode eine Gruppe von Schülern mit geraden Werten oder Marken zurück. Wenn ein anderes Zeichen angegeben wird, gibt es ein Null-Array zurück. Zeigen Sie den Namen und die Markierungen für dieses zurückgegebene Array von der Hauptmethode an.

Ich habe das Programm gemacht, aber es gibt die Referenz eines Arrays zurück.

Lösung: Paket Assignment2;

public class StudentDemo {

public static void main(String[] args) 

{ 
    Student[] st=new Student[5]; 
    Student st1=new Student(1, "abhi", 200.5); 
    Student st2=new Student(2, "maggie", 200); 
    Student st3=new Student(3, "suraj", 107); 
    Student st4=new Student(4, "naveen", 249); 
    Student st5=new Student(5, "jajan",100); 

    Student[] sts = {st1,st2,st3,st4,st5}; 
    System.out.println("splitStudentArray : " + splitStudentArray(sts, 'o')); 
} 

public static Student[] splitStudentArray(Student[] sts, char ch) 
{ 
    int Marks = 0; 
    if (ch=='o' && Marks == 1 || Marks==3 || Marks==5) 
    { 
    System.out.println("number is odd"); 
    } 

    if (ch=='e'&& Marks == 2 || Marks==4) 
    { 
    System.out.println("number is even"); 
    } 
    return sts ; 

} 

}

Klasse Schüler { private int rollNo; privater Stringname; private Doppelmarkierungen;

public Student(int rollNo, String name, double marks) 
{ 

    this.rollNo = rollNo; 
    this.Name = name; 
    this.Marks = marks; 
} 


public double getMarks() { 
    return Marks; 
} 


public void setMarks(double marks) { 
    Marks = marks; 
} 


public int getRollNo() { 
    return rollNo; 
} 


public String getName() { 
    return Name; 
} 

}

Antwort

0

Zunächst einmal sollte dies auf Stackoverflow, nicht eher als hier?

Zweitens - wenn ich verstehe, was Sie richtig in Ihrem splitStudentArray, zu tun versuchen (...) Sie so etwas wie tun sollten:

ArrayList<Students> helper = new ArrayList<>(); 
int j = 0; 
    for(int i; i < sts.length; i++){ 
     if(checkIfOdd(sts[i]) == true){ 
     helper[j] = sts[i] 
     j++; 
    } 

und Sie dann wieder Helfer statt sts.

Prost

+0

Bitte geben Vorschlag ohne Array-Liste – ASM

+0

Sicher, ich werde meine Post bearbeiten, wenn ich etwas Freizeit habe. – RoughTomato

0

Sie sind in „M.“ vorbei und die gleiche Sache zurückkehren Sie in „M.“ sind vorbei. Sie geben einer Methode einen Apfel, nur um einen Apfel zu bekommen. Behalte einfach den Apfel. Nein, was willst du zurück, ist was du zurückgeben solltest. Sie geben nur "M" zurück. Wenn Sie etwas zurückgeben möchten, geben Sie etwas zurück, anstatt nur auf dem Bildschirm zu drucken.

 
/** 
* Hint! 
* EVEN: using modulus: if mynumber%2==0 
* This could be useful in returning ODD and EVEN arrays too. 
* 
* @param1 ... 
* @param2 ... 
* @param3 ... 
**/ 
public static Student[] splitStudentArray(Student[] sts, char ch) 
{ 
    int Marks = 0; 
    if (ch=='o' && Marks == 1 || Marks==3 || Marks==5) 
    { 
     System.out.println("number is odd"); 
     //return oddArray(str) create function or insert for loop here 
    } 
    else if (ch=='e'&& Marks == 2 || Marks==4) 
    { 
     System.out.println("number is even"); 
     //return evenArray(str) create function or insert for loop here 
    } 
    else 
     return null; 
} 
Verwandte Themen