Advertisement
Guest User

zad5v2

a guest
Jul 1st, 2015
243
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.84 KB | None | 0 0
  1. package vector;
  2.  
  3. import java.util.Enumeration;
  4. import java.util.Scanner;
  5. import java.util.Vector;
  6. import java.io.FileNotFoundException;
  7. import java.io.PrintWriter;
  8.  
  9. class WektoryRoznejDlugosciException extends Exception{
  10.     private static final long serialVersionUID = 1L;
  11. };
  12.  
  13.  
  14. public class MyVector {
  15.     private String lancuch = new String();
  16.     private Vector<Double> wektor = new Vector<Double>();
  17.     private Scanner wczytaj;
  18.    
  19.    
  20.     public MyVector(){
  21.         WprowadzLancuch();
  22.         LancuchDoWektora();
  23.     }
  24.    
  25.    
  26.     public MyVector(MyVector a, MyVector b){
  27.         try{
  28.             if(a.wektor.size() != b.wektor.size()){
  29.                 throw new WektoryRoznejDlugosciException();
  30.             }
  31.             for(int licznik = 0; licznik < a.wektor.size(); licznik++)
  32.                 wektor.addElement(new Double(a.wektor.get(licznik) + b.wektor.get(licznik)));
  33.         }
  34.         catch(WektoryRoznejDlugosciException ex){
  35.             System.out.println("Dlugosc wektora a: " + a.wektor.size());
  36.             System.out.println("Dlugosc wektora b: " + b.wektor.size());
  37.             System.out.println("Wprowadz ponownie lancuchy: ");
  38.             a = new MyVector();
  39.             b = new MyVector();
  40.             MyVector temp = new MyVector(a, b);
  41.             wektor = temp.wektor;
  42.         }
  43.     }
  44.    
  45.    
  46.     public void WprowadzLancuch(){
  47.         System.out.println("Wprowadz lancuch odzielając liczby spacją");
  48.         wczytaj = new Scanner(System.in);
  49.         lancuch = wczytaj.nextLine();
  50.     }
  51.    
  52.    
  53.     public void LancuchDoWektora(){
  54.         int pozycjaSpacji1 = 0;
  55.         int pozycjaSpacji2 = 0;
  56.         String wycinek = new String();
  57.         for(int licznik = 0; licznik < lancuch.length(); licznik++ ){
  58.             if(lancuch.charAt(licznik) == ' '){
  59.                 pozycjaSpacji2 = licznik;
  60.             }
  61.             if(licznik == lancuch.length() - 1){
  62.                 pozycjaSpacji2 = lancuch.length();
  63.                 wycinek = new String((lancuch.substring(pozycjaSpacji1, pozycjaSpacji2).trim()));
  64.             }
  65.             if(pozycjaSpacji1 != pozycjaSpacji2){
  66.                 wycinek = new String((lancuch.substring(pozycjaSpacji1, pozycjaSpacji2)).trim());
  67.                 pozycjaSpacji2++;
  68.                 pozycjaSpacji1 = pozycjaSpacji2;   
  69.             }
  70.             try{
  71.                 if(wycinek.length() > 0)
  72.                     wektor.addElement(new Double(Double.parseDouble(wycinek)));            
  73.                 wycinek = new String();
  74.             }
  75.             catch(NumberFormatException ex){}
  76.         }
  77.     }
  78.    
  79.    
  80.     public void DrukujWektor() throws FileNotFoundException{
  81.         Enumeration<Double> e=wektor.elements();
  82.         PrintWriter zapis = new PrintWriter("zsumowane.txt");
  83.         System.out.println("Lancuch zsumowanego wektora:");
  84.         while (e.hasMoreElements()) {        
  85.             System.out.print(e.nextElement() + " ");
  86.             zapis.println(e.nextElement() + " ");
  87.         }
  88.         zapis.close();
  89.     }
  90.    
  91. }
  92.  
  93.  
  94.  
  95.  
  96.  
  97. package vector;
  98.  
  99. import java.io.FileNotFoundException;
  100.  
  101. public class Test {
  102.  
  103.     public static void main(String[] args) throws FileNotFoundException{
  104.         MyVector pierwszy = new MyVector();
  105.         MyVector drugi = new MyVector();
  106.         MyVector suma = new MyVector(pierwszy, drugi);
  107.         suma.DrukujWektor();
  108.     }
  109.  
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement