Advertisement
Guest User

Untitled

a guest
Oct 26th, 2016
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.74 KB | None | 0 0
  1. import java.io.File;
  2. import java.io.FileNotFoundException;
  3. import java.util.ArrayList;
  4. import java.util.Arrays;
  5. import java.util.List;
  6. import java.util.Scanner;
  7. import java.text.DecimalFormat;
  8. import java.io.PrintWriter;
  9.  
  10. public class PersonAvstand {
  11.  
  12.     public static void main(String[] args) {
  13.  
  14.         System.out.println("Hvilken fil skal leses inn? ");
  15.  
  16.         Scanner in = new Scanner(System.in);
  17.  
  18.         String filnavn = in.nextLine();
  19.  
  20.         List<String> navn = new ArrayList<String>();
  21.  
  22.         List<Double> koordinater_liste_y = new ArrayList<Double>();
  23.         List<Double> koordinater_liste_x = new ArrayList<Double>();
  24.  
  25.         int tall = 0;
  26.  
  27.         try {
  28.  
  29.             File fil = new File(filnavn);
  30.  
  31.             Scanner filleser = new Scanner(fil);
  32.  
  33.             if (filleser.hasNextLine()) {
  34.                 String linje = filleser.nextLine();
  35.                 tall = Integer.parseInt(linje);
  36.  
  37.                 if (tall < 2) {
  38.                     System.out.println("Antall personer ma vare storre enn 2.");
  39.                     System.exit(0);
  40.  
  41.                 }
  42.  
  43.                 while (filleser.hasNextLine()) {
  44.  
  45.                     List<Double> koordinater_liste = new ArrayList<Double>();
  46.  
  47.                     linje = filleser.nextLine();
  48.                     sjekk(linje);
  49.  
  50.                     Scanner scr = new Scanner(linje);
  51.                     double koordinater;
  52.  
  53.                     while (scr.hasNext()) {
  54.                         String inn = scr.next();
  55.  
  56.                         try {
  57.                             koordinater = Double.parseDouble(inn);
  58.                             koordinater_liste.add(koordinater);
  59.                         }
  60.  
  61.                         catch (NumberFormatException parse) {
  62.  
  63.                             navn.add(inn);
  64.  
  65.                         }
  66.  
  67.                     }
  68.                     for (int i = 0; i < koordinater_liste.size(); i++) {
  69.                         if (i % 2 == 0) {
  70.                             double koordinat = koordinater_liste.get(i);
  71.                             koordinater_liste_x.add(koordinat);
  72.                         }
  73.  
  74.                         else {
  75.                             double koordinat = koordinater_liste.get(i);
  76.                             koordinater_liste_y.add(koordinat);
  77.                         }
  78.                     }
  79.  
  80.                 }
  81.  
  82.                 System.out.println(koordinater_liste_x);
  83.                 System.out.println(navn);
  84.                 System.out.println(koordinater_liste_y);
  85.  
  86.             }
  87.  
  88.             else {
  89.                 System.out.println("Filen er tom.");
  90.                 System.exit(0);
  91.             }
  92.  
  93.             filleser.close();
  94.         }
  95.  
  96.         catch (FileNotFoundException unntak) {
  97.  
  98.             System.out.println("Filen " + filnavn + " eksisterer ikke.");
  99.             System.exit(0);
  100.  
  101.         }
  102.  
  103.         catch (NumberFormatException parse) {
  104.             System.out.println("Filen " + filnavn + " begynte ikke med et heltall.");
  105.             System.exit(0);
  106.         }
  107.  
  108.         System.out.println("Hvilken fil skal resultatet lagres til?");
  109.        
  110.         String filnavn_2 = in.nextLine();
  111.  
  112.         try {
  113.            
  114.             PrintWriter fil = new PrintWriter(filnavn_2);
  115.  
  116.             for (int i = 0; i < koordinater_liste_x.size(); i++) {
  117.  
  118.                 for (int j = 0 ; j < koordinater_liste_y.size(); j++) {
  119.                    
  120.                     try {
  121.                    
  122.                     double avstand = Math.sqrt(Math.pow((koordinater_liste_x.get(i) - koordinater_liste_x.get(i+1)), 2) + Math.pow((koordinater_liste_y.get(j)-koordinater_liste_y.get(j+1)), 2));
  123.                     System.out.println(avstand);
  124.            
  125.                     }
  126.                    
  127.                     catch (IndexOutOfBoundsException feil) {
  128.                        
  129.                     }
  130.                 }
  131.  
  132.             }
  133.  
  134.         }
  135.  
  136.         catch (FileNotFoundException unntak_2) {
  137.  
  138.             System.out.println("Filen " + filnavn_2 + " kan ikke lagres");
  139.             System.exit(0);
  140.  
  141.         }
  142.  
  143.         in.close();
  144.  
  145.     }
  146.  
  147.     public static boolean sjekk(String linje) {
  148.         Scanner scr = new Scanner(linje);
  149.  
  150.         List<String> navn = new ArrayList<String>();
  151.         List<Double> koordinater_liste = new ArrayList<Double>();
  152.         double koordinater;
  153.  
  154.         while (scr.hasNext()) {
  155.             String in = scr.next();
  156.  
  157.             try {
  158.                 koordinater = Double.parseDouble(in);
  159.                 koordinater_liste.add(koordinater);
  160.             }
  161.  
  162.             catch (NumberFormatException parse) {
  163.  
  164.                 navn.add(in);
  165.  
  166.             }
  167.  
  168.         }
  169.  
  170.         scr.close();
  171.  
  172.         if (koordinater_liste.size() == 2 && navn.size() == 1) {
  173.  
  174.             return true;
  175.  
  176.         }
  177.  
  178.         else {
  179.  
  180.             System.out.println("Feil formatert linje. Data magler.");
  181.             System.exit(0);
  182.             return false;
  183.         }
  184.  
  185.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement