import java.util.Scanner;Kodu görmeden ne dememizi bekliyorsun?
Kodu paylaşmama sebebim bu sorunu sadece eclipse programımı kullanırken yaşamam. Online java compiler ' larda böyle bir sorunla karşılaşmadım nedense.Kodu görmeden ne dememizi bekliyorsun?
import java.util.Scanner;
public class Soru8 {
public static void ogrenciBilgileriEkle() {
Scanner girdi = new Scanner(System.in);
System.out.print("Isminizi Giriniz: ");
String isim = girdi.next();
System.out.print("Cinsiyetinizi Giriniz: ");
String cinsiyet = girdi.next();
System.out.print("Vize Notunuzu Giriniz: ");
int vize1 = girdi.nextInt();
System.out.print("Final Notunuzu Giriniz: ");
int vize2 = girdi.nextInt();
genelHarfNotuBelirle(vize1, vize2);
}
public static void genelHarfNotuBelirle(int vizenotu1, int vizenotu2) {
double not = (vizenotu1 * 0.3) + (vizenotu2 * 0.7);
if (not < 50)
System.out.println("Hatali not girisi yaptiniz.");
else
System.out.println("Not girisi yaptiniz.");
}
public static void main(String[] args) {
ogrenciBilgileriEkle();
}
}
Öğrencilerden vize1 ve vize2 isimli 2 girdi alıp, ortalamalarını Harfler ile not vermeye çalışıyorum. Girdi yaptıktan sonra normalde olması gereltiği gibi 1 defa enter a bastığımda konsolda sıradaki işleme geçse sorun kalmayacak, işin garibi online derleyicilerde böyle bir sorun olmaması. Eclipse uygulamamı silip yeniden de yükledim fakat çözüm olmadı.Şimdi; main'de sout (System.out.println) içinde fonksiyon çağırıyorsunuz. Bu durumda fonksiyon içinde ne döndüğüne bakmaksınızın o en alttaki return 0 var ya, işte onu yazdıracak main.
ogrenciBilgileriEkle'yi çağırdık. O bizden girdi alıyor. En sonunda ise niyeyse int vizenotu deyip bir fonksiyon çağırıyor. Sanki o değişkeni tekrar kullanacakmış gibi.
Çağırdığı fonksiyona gidiyoruz. Değişken oluşturuyor. Değişkeni kıyaslayıp durumu yazdırıyor ve sıfır döndürüyor. Az önce kullanmadığımız değişken de sıfır değeri alıyormuş.
Programın çalışmasında bir sorun yok. Yazdığınız gibi çalışıyor.
Siz muhtemelen buna ek yapmak istiyorsunuz. Ama bize onu söylemediğiniz için ne olacağını anlayamıyoruz.
Sadece ad, cinsiyet, vize ve final alıp ona göre "hatalı giriş yaptınız" veya "giriş yaptınız" diyen bir şey şeklinde paylaşıyorum.
Kod:import java.util.Scanner; public class Soru8 { public static void ogrenciBilgileriEkle() { Scanner girdi = new Scanner(System.in); System.out.print("Isminizi Giriniz: "); String isim = girdi.next(); System.out.print("Cinsiyetinizi Giriniz: "); String cinsiyet = girdi.next(); System.out.print("Vize Notunuzu Giriniz: "); int vize1 = girdi.nextInt(); System.out.print("Final Notunuzu Giriniz: "); int vize2 = girdi.nextInt(); genelHarfNotuBelirle(vize1, vize2); } public static void genelHarfNotuBelirle(int vizenotu1, int vizenotu2) { double not = (vizenotu1 * 0.3) + (vizenotu2 * 0.7); if (not < 50) System.out.println("Hatali not girisi yaptiniz."); else System.out.println("Not girisi yaptiniz."); } public static void main(String[] args) { ogrenciBilgileriEkle(); } }
Denedim hocam, ne yazık ki hala aynı. Bir kez daha silip yeniden yüklerim, olmazsa başka bir uygulama kullanacağım herhalde. Hiçbir yerde bulamadım çözümü.Girdi alırken gösterdiğim örnekteki gibi System.out.println yerine System.out.print kullanın. Girdi alırken de .nextLine() yapmayı deneyin.
Ben IntelliJ IDEA kullanıyorum ve bende de sorun olmadı.
Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.