Birleştirme
- Java kursu
- Başlangıç
- Ders 116/116
- 6 dk
Tüm parçaları birleştirerek çalışan bir uygulama yazarsın.
Menü ile birleştir
Son derste tüm parçaları bir menüde birleştirirsin. Scanner ile kullanıcıdan seçim alır; 1 ise kitap ekler, 2 ise ödünç alır. Hata yönetimi de menü içine yerleşir.
System.out.print("Seç: ");
int choice = input.nextInt();
if (choice == 1) {
System.out.print("Başlık: ");
input.nextLine();
cat.addBook(input.nextLine());
} else if (choice == 2) {
try { cat.borrowBook(); }
catch (IllegalStateException e) {
System.out.println("Hata: " + e.getMessage());
}
}nextInt'ten sonra nextLine ile kalan satırı temizlersin; sonra gerçek başlığı okursun. Bu, daha önce öğrendiğin nextInt/nextLine tuzağını çözer. Menü, tüm becerileri tek akışta toplar.
Tüm parçalar bir arada
Bu derste Book sınıfı, Catalog sınıfı (addBook, borrowBook, throw) ve Scanner menüsü birleşir. Kullanıcı bir kitap ekler ve ödünç alır; tüm hatalar yakalanır.
Başlangıç kodu önceki derslerin çözümünü içerir; sen yalnızca menü döngüsünü yazacaksın. Bu, başlangıç seviyesinin final görevidir: değişkenler, koşullar, döngüler, koleksiyonlar, yöntemler, istisnalar ve girdi/çıktı hepsi tek uygulamada.
Uygulama Menüyü çalıştır
main'de menüyü yaz: System.out.print("Seç: ") ile bilgi iste, nextInt() ile seçim al. if (choice == 1) ise print("Başlık: "), nextLine() ile satırı temizle, tekrar nextLine() ile başlığı oku ve cat.addBook(...) çağır. else if (choice == 2) ise try { cat.borrowBook(); } ve catch (IllegalStateException e) ile Hata: yazdır. Son olarak cat.books yazdır. Kullanıcı önce 1, sonra Suç ve Ceza yazacak.
Başlangıç kodu
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Catalog cat = new Catalog();
Scanner input = new Scanner(System.in);
// Seç: yaz, nextInt ile seçim al, 1 ise başlık iste ve ekle, 2 ise borrowBook çağır
// Sonra cat.books yazdır
}
}
class Book {
String title;
boolean available;
Book(String title) {
this.title = title;
this.available = true;
}
public String toString() {
return (available ? "[müsait] " : "[ödünç] ") + title;
}
}
class Catalog {
ArrayList<Book> books = new ArrayList<>();
void addBook(String title) {
books.add(new Book(title));
}
void borrowBook() {
for (Book b : books) {
if (b.available) {
b.available = false;
return;
}
}
throw new IllegalStateException("Müsait kitap yok");
}
}Örnek çözüm
System.out.print("Seç: ");
int choice = input.nextInt();
if (choice == 1) {
System.out.print("Başlık: ");
input.nextLine();
cat.addBook(input.nextLine());
} else if (choice == 2) {
try { cat.borrowBook(); }
catch (IllegalStateException e) {
System.out.println("Hata: " + e.getMessage());
}
}
System.out.println(cat.books);Beklenen çıktı
Seç: Başlık: [[müsait] Suç ve Ceza]
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Menü seçimini eylemiyle eşleştir
| Kavram | Anlamı |
|---|---|
1 |
Kitap ekle |
2 |
Ödünç al |
Seç: |
Bilgi iste |
Hata: |
Hata mesajı |
2 Scanner oluştur
Scanner input = new Scanner(System.____);
Scanner input = new Scanner(System.in);
Açıklama: System.in konsol girdisidir ve Scanner'ı buna bağlarsın.
3 Menüde 1 seçilince ne olur?
- Kitap ödünç alınır
- Hata fırlatır
- Program kapanır
- Kullanıcıdan başlık istenir ve eklenir Doğru cevap
Açıklama: 1 seçilince başlık istenir, nextLine ile okunur ve addBook ile eklenir.