Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package program5;
- import java.util.Arrays;
- import java.util.Scanner;
- import java.util.Vector;
- class WektoryRoznejDlugosciException extends Exception {
- public final int sizeOfVectorA, sizeOfVectorB;
- public WektoryRoznejDlugosciException(int sizeOfVectorA, int sizeOfVectorB) {
- super("Wektory sa roznej dlugosci");
- this.sizeOfVectorA = sizeOfVectorA;
- this.sizeOfVectorB = sizeOfVectorB;
- }
- }
- public class Program5 {
- public static void main(String[] args) {
- Vector<Double> vectorA = new Vector<Double>();
- vectorA=readVector();
- Vector<Double> vectorB = new Vector<Double>();
- vectorB=readVector();
- boolean danePrawidlowe = false;
- do{
- try{
- danePrawidlowe = false;
- addVectors(vectorA, vectorB);
- }catch(WektoryRoznejDlugosciException exception){
- System.out.println("Błąd: " + exception.getMessage() + " " + exception.sizeOfVectorA + " != " + exception.sizeOfVectorB);
- System.out.println("Podaj ponownie wektory.");
- danePrawidlowe = true;
- }
- }while(danePrawidlowe);
- // for(int i=0; i<vectorA.size(); i++){
- // System.out.print(vectorA.get(i) + " ");
- // System.out.print(vectorB.get(i) + " ");
- // }
- }
- static Vector<Double> readVector(){
- String liczbaString;
- Scanner in = new Scanner(System.in);
- liczbaString = in.nextLine();
- //System.out.println(liczbaString);
- String[] liczbaStringSplit = liczbaString.split("\\s+");
- double[] liczbaStringNaDouble = Arrays.stream(liczbaStringSplit).mapToDouble(Double::parseDouble).toArray();
- Vector<Double> vector = new Vector<Double>();
- for(int i=0; i<liczbaStringNaDouble.length; i++){
- vector.add(liczbaStringNaDouble[i]);
- }
- return vector;
- }
- static Vector<Double> addVectors(Vector<Double> vectorA, Vector<Double> vectorB)throws WektoryRoznejDlugosciException{
- if(vectorA.size() != vectorB.size()){
- throw new WektoryRoznejDlugosciException(vectorA.size(), vectorB.size());
- }
- Vector<Double> vectorSuma = new Vector<Double>(vectorA.size());
- for(int i = 0; i < vectorA.size(); ++i){
- vectorSuma.add(vectorA.elementAt(i) + vectorB.elementAt(i));
- }
- return vectorSuma;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement