Guest User

Untitled

a guest
Apr 24th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.21 KB | None | 0 0
  1. import javax.swing.*;
  2. import java.io.*;
  3.  
  4. public class assignment01 {
  5.  
  6.     public static void main(String[] arg) throws IOException {
  7.         String sfileNameMain = "Studenter.txt";
  8.         String studentName = "";
  9.         String studentFact = "";
  10.         do {  // Använder do för att koden ska köras minst en gång
  11.             try {
  12.                 studentName = randomInfoArray(sfileNameMain);
  13.                 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
  14.             } catch (FileNotFoundException e) { //Testar om filen hittas
  15.                 studentFact = ": tyvärr har inte " + studentName + " skrivit något om sig själv!"; //Denna text visas om en fil inte har hittats
  16.             continue;
  17.             }  
  18.         } while (continueOr(studentName, studentFact) == true); { //Om användaren tryckt ja kommer metoden köras vilket kollas mot metoden continueOr
  19.     }
  20. }
  21.     public static boolean continueOr(String studentName, String studentFact) throws IOException { //metoden kollar om användaren har tryck ja eller nej i dialogrutan
  22.         int choice = JOptionPane.showConfirmDialog(null, studentName + " " + studentFact + "\nVill du veta mer om studenterna i AD11?", "Klassinfo",JOptionPane.YES_NO_OPTION);
  23.         if (choice != 0 ) { //om svaret inte är ja, kommer programmet avslutas
  24.             return false;
  25.         } else {
  26.             return true;
  27.         }
  28.     }
  29.  
  30.     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
  31.         BufferedReader instreamStudent = new BufferedReader(new FileReader(sfileName));
  32.         int n = 0;
  33.         while (true) {
  34.             String name = instreamStudent.readLine();
  35.             if (name == null)
  36.                 break;
  37.             n++;
  38.         }
  39.         return n;
  40.     }
  41.  
  42.     public static int randomizer(int sRandom) { //
  43.         int num = (int) (Math.random() * sRandom);
  44.         return num;
  45.     }
  46.  
  47.     public static String randomInfoArray(String fileName) throws IOException {
  48.         BufferedReader instreamRead = new BufferedReader(new FileReader(fileName));
  49.         String[] box = new String[numRows(fileName)];
  50.         for (int n = 0; n < box.length; n++) {
  51.             box[n] = instreamRead.readLine();
  52.         }
  53.         return box[randomizer(numRows(fileName))];
  54.     }
  55. }
Add Comment
Please, Sign In to add comment