Προς το περιεχόμενο

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • 0
dimitrios67

Java class with attribute an array

Ερώτηση

εχω τον παρακάτω κώδικα και μου δινει exception in thread main....

Ti mporei na gtaiei? (σιγουρα κατι ειναι με το initialization of the array grades[]...)

Ευχαριστω εκ των προτερων...

>
Foithths.java
class Foithths{
double[] grades;
String name;

Foithths(String name, int lessons){
	this.name=name;
	double[] grades=new double[lessons];
	for(int i=0;i<grades.length;i++)
		grades[i]=0.0;
}
public void setGrade(int lesson, double bathmos){
	grades[lesson]=bathmos;
}
public double getGrade(int lesson){
	return grades[lesson];
}
public void printGrades(){
	System.out.println(name);
	for(int i=0;i<grades.length;i++)
		System.out.println(grades[i]);
}
}
Main.java
class Main {
public static void main(String args[]){
	Foithths student=new Foithths("giorgos",10);
	System.out.println(student.name);
	student.printGrades();
	//student.setGrade(1,8.0);
	
}
}

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

3 απαντήσεις σε αυτή την ερώτηση

Προτεινόμενες αναρτήσεις

>
Foithths(String name, int lessons){
	this.name=name;
	double[] grades=new double[lessons];
	for(int i=0;i<grades.length;i++)
		grades[i]=0.0;
}

 

Η γραμμή double[] grades=new double[lessons]; πρέπει να γίνει

 

>
grades=new double[lessons];

 

Ο λόγος είναι ότι ο τύπος της μεταβλητής grades ορίζετε στην αρχή της κλάσης ( double[] grades; ) οπότε όταν ορίζεις ξανά την μεταβλητή μέσα στον constructor κρύβεις το μέλος grades της κλάσης με την τοπική μεταβλητή grades (που τυχαίνει να είναι αντικείμενο τύπου array και να έχει το ίδιο όνομα)

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
×
×
  • Δημιουργία νέου...