Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import javax.swing.*;
- import java.io.*;
- public class assignment01 {
- public static void main(String[] arg) throws IOException {
- String sfileNameMain = "Studenter.txt";
- String studentName = "";
- String studentFact = "";
- do { // Använder do för att koden ska köras minst en gång
- try {
- studentName = randomInfoArray(sfileNameMain);
- studentFact = randomInfoArray(studentName + ".txt"); //Skapar en variabel som med hjälp av arraymetoden läser ett namn i Studenter.txt och försöker läsa från filen som heter t ex Caroline.txt
- } catch (FileNotFoundException e) { //Testar om filen hittas
- studentFact = ": tyvärr har inte " + studentName + " skrivit något om sig själv!"; //Denna text visas om en fil inte har hittats
- continue;
- }
- } while (continueOr(studentName, studentFact) == true); { //Om användaren tryckt ja kommer metoden köras vilket kollas mot metoden continueOr
- }
- }
- public static boolean continueOr(String studentName, String studentFact) throws IOException { //metoden kollar om användaren har tryck ja eller nej i dialogrutan
- int choice = JOptionPane.showConfirmDialog(null, studentName + " " + studentFact + "\nVill du veta mer om studenterna i AD11?", "Klassinfo",JOptionPane.YES_NO_OPTION);
- if (choice != 0 ) { //om svaret inte är ja, kommer programmet avslutas
- return false;
- } else {
- return true;
- }
- }
- public static int numRows(String sfileName) throws IOException { // Metod som räknar hur många rader filen har. Använder denna metod i arrayen randomInfoArray
- BufferedReader instreamStudent = new BufferedReader(new FileReader(sfileName));
- int n = 0;
- while (true) {
- String name = instreamStudent.readLine();
- if (name == null)
- break;
- n++;
- }
- return n;
- }
- public static int randomizer(int sRandom) { //
- int num = (int) (Math.random() * sRandom);
- return num;
- }
- public static String randomInfoArray(String fileName) throws IOException {
- BufferedReader instreamRead = new BufferedReader(new FileReader(fileName));
- String[] box = new String[numRows(fileName)];
- for (int n = 0; n < box.length; n++) {
- box[n] = instreamRead.readLine();
- }
- return box[randomizer(numRows(fileName))];
- }
- }
Add Comment
Please, Sign In to add comment