PDA

Tam Sürümünü Görmek İçin : yeni basladim hatam nerde


Volkan Uzun
07/10/2003, 08:25
selamlar asagidaki kodu neden derleyemiyorum
----
import java.lang.String;
import java.io.DataInputStream;
import java.lang.System;
import java.io.IOException;


class Student{
protected String StudentName;
private int grades[];
private double average;
private int counter;

protected Students()
{
StudentName = "";
average = 0;
counter = 0;
}

GetStudentInfo()
{
DataInputStream display = new DataInputStream(System.in);

try{
System.out.print("Enter student name : ");
System.out.flush();
StudentName = display.readLine();

System.out.print("How many grades does this student have : ");
System.out.flush();
counter = display.readLine();

grades = new double[counter];

for(int i=0;i<counter:i++)
{
System.out.print("Enter grade #"+i+1);
System.out.flush();
grades[i] = display.readLine();
average += grades[i];
}
average /= counter;
}
catch(IOException ioe)
{
System.out.println(ioe.toString());
System.out.println("Unable to read data.");
return;
}
}
}

class StudentGrades{
public static void main(String args[])
{
int StudentNumber;
DataInputStream display = new DataInputStream(System.in);

System.out.print("How many student does this course have : "):
System.out.flush():
StudentNumber = display.readLine();

Student students = new Student[StudentNumber];

for(int i=0;i<StudentNumber;i++)
students[i].GetStudentInfo();

for(int i=0;i<StudentNumber;i++)
{
System.out.println(students[i].StudentName+" has an average of : "+students[i].average);
}
}

}


mkarabulut
07/10/2003, 10:09
Bende çok yeniyim aslında ama...

Sanki dosya ismi ile aynı adda bir sınıf olmalı kodun içinde ve o public olmalı diye bir kural var sanırım (bir zorunluluk olmayabilir emin değilim).. Acaba public sınıf olmadığı için mi olmuyor ?

fatihhood
07/10/2003, 11:47
sanal_programci

Aldığın hata mesajını yazarsan belki yardımcı olabilirim. Şuan kullandığım makinada java derleyicisi yok ama yinede belki anlarım. Yazdığın kodda systax hatası yok gibi. Muhtemelen class path lerinde falam bir sorun vardır.

Dediğim gibi hata mesajı??

LEthaL
07/10/2003, 12:33
"class StudentGrades" yerine "public class StudentGrades" bir de dosya adının "StudentGrades" olmasından kaynaklanıyor olabilir.

fatihhood
07/10/2003, 13:01
LEthal

Dosya adı yukarıdaki koda göre zaten StudentGrades olmalı. Zira java derlerken ve çalıştırırken ilk olarka main bölümüne bakar.

Yani ben siemens mobile telefonları için yazdığım midp uygulamalarından biliyorum bunu.

Volkan Uzun
07/10/2003, 19:16
sorun su : derlemiyor, invalid defaultthread diyor

darky_dark
08/10/2003, 09:01
merhaba,
bu kodda cok fazla hata var,
en basitinden ; konulmasi gereken yerlerde : kullanilmis..
ornek: for loop ve satir sonlari..
deprecated(yerine yeni 1 metodun kullanilmasi gereken, kullanilmasi onerilmeyen ve desteklenmeyen) olan DataInputStream.readLine metodu kullanilmis..
GetStudentInfo metodunun ne dondurdugu ya da dondurmedigi belirtilmemis gibi..

asagiya kodun duzeltilmis halini ekliyorum kiyaslamaniz acisindan.. ancak size tavsiyem daha basit denemelerle baslamaniz olacaktir..


//
import java.lang.String;
import java.io.DataInputStream;
import java.lang.System;
import java.io.IOException;
//
class Student {
protected String StudentName;
private int[] grades;
double average;
private int counter;
protected Student() {
StudentName = "";
average = 0;
counter = 0;
}
void GetStudentInfo() {
DataInputStream display = new DataInputStream(System.in);
try {
System.out.print("Enter student name : ");
System.out.flush();
StudentName = display.readLine();
System.out.print("How many grades does this student have : ");
System.out.flush();
counter = Integer.parseInt(display.readLine());
int temp[] = new int[counter];
for (int i = 0; i < counter; i++) {
System.out.print("Enter grade #" + (i + 1));
System.out.flush();
temp[i] = Integer.parseInt(display.readLine());
average += temp[i];
}
average /= counter;
grades = temp;
}
catch (IOException ioe) {
System.out.println(ioe.toString());
System.out.println("Unable to read data.");
return;
}
}
}
class StudentGrades {
public static void main(String args[]) {
int StudentNumber;
DataInputStream display = new DataInputStream(System.in);
System.out.print("How many student does this course have : ");
System.out.flush();
try {
StudentNumber = Integer.parseInt(display.readLine());
Student[] students = new Student[StudentNumber];
for (int i = 0; i < StudentNumber; i++) {
students[i] = new Student();
students[i].GetStudentInfo();
}
for (int i = 0; i < StudentNumber; i++) {
System.out.println(
students[i].StudentName
+ " has an average of : "
+ students[i].average);
}
}
catch (Exception e) {
System.out.println("EXCEPTION!");
e.printStackTrace();
}
}
}