Advertisement
Guest User

Untitled

a guest
Feb 20th, 2018
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.44 KB | None | 0 0
  1. package program5;
  2.  
  3. import java.util.Arrays;
  4. import java.util.Scanner;
  5. import java.util.Vector;
  6.  
  7. class WektoryRoznejDlugosciException extends Exception {
  8.  
  9. public final int sizeOfVectorA, sizeOfVectorB;
  10.  
  11. public WektoryRoznejDlugosciException(int sizeOfVectorA, int sizeOfVectorB) {
  12. super("Wektory sa roznej dlugosci");
  13. this.sizeOfVectorA = sizeOfVectorA;
  14. this.sizeOfVectorB = sizeOfVectorB;
  15. }
  16.  
  17. }
  18. public class Program5 {
  19.  
  20. public static void main(String[] args) {
  21. Vector<Double> vectorA = new Vector<Double>();
  22. vectorA=readVector();
  23. Vector<Double> vectorB = new Vector<Double>();
  24. vectorB=readVector();
  25. boolean danePrawidlowe = false;
  26. do{
  27. try{
  28. danePrawidlowe = false;
  29. addVectors(vectorA, vectorB);
  30. }catch(WektoryRoznejDlugosciException exception){
  31. System.out.println("Błąd: " + exception.getMessage() + " " + exception.sizeOfVectorA + " != " + exception.sizeOfVectorB);
  32. System.out.println("Podaj ponownie wektory.");
  33. danePrawidlowe = true;
  34. }
  35. }while(danePrawidlowe);
  36. // for(int i=0; i<vectorA.size(); i++){
  37. // System.out.print(vectorA.get(i) + " ");
  38. // System.out.print(vectorB.get(i) + " ");
  39. // }
  40.  
  41. }
  42. static Vector<Double> readVector(){
  43. String liczbaString;
  44. Scanner in = new Scanner(System.in);
  45. liczbaString = in.nextLine();
  46. //System.out.println(liczbaString);
  47. String[] liczbaStringSplit = liczbaString.split("\\s+");
  48. double[] liczbaStringNaDouble = Arrays.stream(liczbaStringSplit).mapToDouble(Double::parseDouble).toArray();
  49. Vector<Double> vector = new Vector<Double>();
  50. for(int i=0; i<liczbaStringNaDouble.length; i++){
  51. vector.add(liczbaStringNaDouble[i]);
  52. }
  53. return vector;
  54. }
  55. static Vector<Double> addVectors(Vector<Double> vectorA, Vector<Double> vectorB)throws WektoryRoznejDlugosciException{
  56. if(vectorA.size() != vectorB.size()){
  57. throw new WektoryRoznejDlugosciException(vectorA.size(), vectorB.size());
  58. }
  59. Vector<Double> vectorSuma = new Vector<Double>(vectorA.size());
  60. for(int i = 0; i < vectorA.size(); ++i){
  61. vectorSuma.add(vectorA.elementAt(i) + vectorB.elementAt(i));
  62. }
  63. return vectorSuma;
  64. }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement