Java Project – Flash Card App
Get Job-ready: Java Course with 45+ Real-time Projects! - Learn Java
Program 1
public class FlashCard {
private String question;
private String answer;
public FlashCard(String question, String answer) {
this.question = question;
this.answer = answer;
}
public String getQuestion() {
return question;
}
public String getAnswer() {
return answer;
}
@Override
public String toString() {
return "Qus: " + question + " | Ans: " + answer;
}
}
Program 2
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
public class FlashCardApp
{
private static final String FILE_NAME = "myflashcards.txt";
private static List<FlashCard> flashCards = new ArrayList<>();
private static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
loadFlashCards();
int choice;
do {
System.out.println("\n--------------Flash Card App---------------------");
System.out.println("1. Add Flash Card");
System.out.println("2. View Flash Cards");
System.out.println("3. Quiz Yourself");
System.out.println("4. Save Flash Cards");
System.out.println("5. Exit");
System.out.print("Choose an option: ");
choice = Integer.parseInt(scanner.nextLine());
switch (choice) {
case 1 : addFlashCard();break;
case 2 : viewFlashCards();break;
case 3 : quiz();break;
case 4 : saveFlashCards();break;
case 5 : System.out.println("Goodbye!");break;
default : System.out.println("Invalid choice.");break;
}
} while (choice != 5);
}
private static void addFlashCard() {
System.out.print("Enter question: ");
String question = scanner.nextLine();
System.out.print("Enter answer: ");
String answer = scanner.nextLine();
flashCards.add(new FlashCard(question, answer));
System.out.println("Flash card added!");
}
private static void viewFlashCards() {
if (flashCards.isEmpty()) {
System.out.println("No flash cards available.");
return;
}
for (int i = 0; i < flashCards.size(); i++) {
System.out.println((i + 1) + ". " + flashCards.get(i));
}
}
private static void quiz() {
if (flashCards.isEmpty()) {
System.out.println("Add some flash cards first.");
return;
}
Collections.shuffle(flashCards);
int score = 0;
for (FlashCard card : flashCards) {
System.out.println("\nQ: " + card.getQuestion());
System.out.print("Your answer: ");
String userAnswer = scanner.nextLine();
if (userAnswer.equalsIgnoreCase(card.getAnswer())) {
System.out.println("Correct!");
score++;
} else {
System.out.println("Wrong! Correct answer: " + card.getAnswer());
}
}
System.out.println("You got " + score + " out of " + flashCards.size());
}
private static void saveFlashCards() {
try (PrintWriter writer = new PrintWriter(new FileWriter(FILE_NAME))) {
for (FlashCard card : flashCards) {
writer.println(card.getQuestion() + "||" + card.getAnswer());
}
System.out.println("Flash cards saved to " + FILE_NAME);
} catch (IOException e) {
System.out.println("Error saving flash cards.");
}
}
private static void loadFlashCards() {
File file = new File(FILE_NAME);
if (!file.exists()) return;
try (Scanner fileScanner = new Scanner(file)) {
while (fileScanner.hasNextLine()) {
String[] parts = fileScanner.nextLine().split("\\|\\|");
if (parts.length == 2) {
flashCards.add(new FlashCard(parts[0], parts[1]));
}
}
System.out.println("Loaded " + flashCards.size() + " flash cards.");
} catch (FileNotFoundException e) {
System.out.println("Error loading flash cards.");
}
}
}
If you are Happy with DataFlair, do not forget to make us happy with your positive feedback on Google

