Bir programlama dili öğrenirken, dili öğrenmekten çok programlama tekniklerini öğrenmeye çalışın. Mesela nesne yönelimli programlama dili öğreniyorken, nesne yönelimli programlama tekniğini kavramaya, mantığını anlamaya çalışın. Başka bir nesne yönelimli programlama dili öğrenmeye kalktığınız zaman, alışmak kolay olur. değişen tek şey söz dizimi ve bazı küçük kurallar.
Bir başka programlama diline geçerken o dili kolay öğrenilebilir kılan şeylerden biri de budur. Yani birçok programlama tekniği hakkında bilgi edinin, tek bir yerde takılmayın.
Ek olarak, Java hata mesajlarını da zamanla okumayı öğrenirsiniz. Çok karışık değil
Onlar birbirleriyle yer değiştirir dururlar bir süre. Çünkü aralarındaki fark çok az. Ama Python da C++ da daha aşağı ya da daha yukarı çıkmazlar gibi görünüyor bir süre.
package savasoyunu;
import java.util.Scanner;
public class SavasOyunu {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.print("1. oyuncu adını girin: ");
Player firstgamer = new Player(s.next());
System.out.println("2. oyuncu adını girin: ");
Player secondgamer = new Player(s.next());
int sira = 0;
while(true) {
sira ++;
if(sira%2==0) {
Player siradaki = secondgamer;
}
else {
Player siradaki = firstgamer;
}
System.out.println(" SIRA: "+siradaki.isim);
}
}
}
Player.java
package savasoyunu;
import java.util.Random;
public class Player {
int enerji = 50;
int can = 60;
String isim;
public Player(String ad) {
this.isim = ad;
}
void saldiri(Player oyuncu) {
System.out.println(this.isim + " oyuncusu " + oyuncu.isim + " oyuncusuna saldırıyor...");
// 5 saniye bekleme
Random r = new Random();
boolean sonuc = r.nextBoolean();
if(sonuc) {
System.out.println("Saldırı başarılı!");
oyuncu.can -= 5;
this.enerji -= 5;
}
else {
System.out.println("Saldırı başarısız!");
this.enerji -= 5;
}
}
}
Aldığım hata:
run:
1. oyuncu adını girin: Ramazan
2. oyuncu adını girin:
Zehra
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - Erroneous tree type: <any>
at savasoyunu.SavasOyunu.main(SavasOyunu.java:19)
Java Result: 1
BUILD SUCCESSFUL (total time: 16 seconds)
Yine isim alanları ile ilgili bir hata yaptım ama nerede, bulamadım.
19. satiri da icine alan bir scope’ta tanimlamaliydin, while’in ici ama if/else bloklarinin disi gibi: while (true) { Player siradaki; ... Scope’un giris tanimini @coderistan cok guzel vermis.
“Bellekte referans ayirmak” pek bir manasiz laf; yazdigin kod (class blogu icindeyse) member degisken tanimliyor.
Merhaba. Java öğrenmeye yeni başladım. Bir videodan takip ederek hareket ediyorum. Ancak foroğrafta da gösterdiğim gibi main class oluşturamadığım bir bölüm var.Hata nerede olabilir, yardımcı olursanız sevinirim
Şöyle izah edeyim. Bir video üzerinden öğrenmeye çalışıyorum. masaüstünde bir klasör açıp içerisine deneme isimli bir metin belgesi açıp uzantısını java yaptım. Ardından notepad’de resimdeki kodu girdim. Sonra da cmd’de “javac deneme.java” yazdığımda klasörün içinde deneme.class diye bir belgenin daha oluşması gerekiyor. Ancak bende olmadı. Büyük-küçük harf kullanımına da dikkat ettim.
Video üyelik gerektiren bir yerde. Yani buraya link atma gibi bir şansım yok.
Resimde notepad olmadığını biliyorum. Ben kod görüntüsü için attım onu. Bunu da belirttim.
Path’e koyma vb. işlemleri zaten yaptım. Buralarla ilgili bir sorun yok.
Oluşmayan bir klasör var. Hani nerede diye soruyorsun. Onun yerine de bir şey oluşmadı.
Yani sırf bu tarzda bir cevap yazmak için boş boş sorular sorup yanıtlamışsınız. İyi okusanız bu kadar soru yerine belki anlatamadığım/anlamadığınız yeri çözecek bir şeyler yazabilirdiniz.
Bu üslup ile yardımcı olmamanız daha iyi. Selametle
Evet doğru yapmışsınız ama .class dosyasının oluşmaması tuhaf. Aynı şeyleri ben yaptığım halde .class dosyası oluşturuldu. Ancak eğer, java dosyasının içeriği boş ise javac derleme sonrası bir .class dosyası oluşturmuyor ve ekrana birşey yazmıyor. Peki aşağıdaki komutu deneyebilir misiniz bir de?
alakalı bir durum olduğunu sanıyorum. Netbeans’de main class oluştururken de bu uyarı çıkıyor karşıma. Bunu da videoda anlatıldığı gibi yaptığımı düşünüyorum