@Sawayadi

Как ввести несколько строк и выполнить для каждого метод?

У меня есть код который выполняет определенную операцию для числовой строки. Мне надо сделать так, чтоб вводилось несколько строк и для каждого из них выполнялся этот код по отдельности. Вот код для одного рядка:
package com.company; 
import java.util.*;
public class Main {
 
public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
HashSet<String> test = new HashSet<String>();
    System.out.println("\nВведите строку: ");
    String[] inputArr = in.nextLine().split(" ");
 
    for (int i=0; i<inputArr.length; i++) {
        if (Integer.parseInt(inputArr[i])>9) {
            for (int j=i+1; j<inputArr.length; j++) {
                if (!inputArr[i].equals(inputArr[j]) && inputArr[i].length() == inputArr[j].length()) {
                    String[] temp1 = inputArr[i].split("");
                    String[] temp2 = inputArr[j].split("");
                    boolean check1 = Arrays.asList(temp1).containsAll(Arrays.asList(temp2));
                    boolean check2 = Arrays.asList(temp2).containsAll(Arrays.asList(temp1));
                    if (check1 && check2) {
                        test.add(inputArr[i]+'-'+inputArr[j]);
                    }
                }
            }
        }
    }
    System.out.println("Одинаковые числа: " + test);
}
}

Я пробовал сам сделать, но выводится ошибки когда ввожу число для количество строк(при любых числах выводит ошибку).
package com.company; 
import java.util.*;
public class Main {
 
public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
System.out.println("Введите количество рядков: ");
    int n= in.nextInt();
    String[] strings = new String[n];
HashSet<String> test = new HashSet<String>();
    System.out.println("\nВведите рядок: ");
    String[] inputArr = in.nextLine().split(" ");
 
    for (int i=0; i<inputArr.length; i++) {
        if (Integer.parseInt(inputArr[i])>9) {
            for (int j=i+1; j<inputArr.length; j++) {
                if (!inputArr[i].equals(inputArr[j]) && inputArr[i].length() == inputArr[j].length()) {
                    String[] temp1 = inputArr[i].split("");
                    String[] temp2 = inputArr[j].split("");
                    boolean check1 = Arrays.asList(temp1).containsAll(Arrays.asList(temp2));
                    boolean check2 = Arrays.asList(temp2).containsAll(Arrays.asList(temp1));
                    if (check1 && check2) {
                        test.add(inputArr[i]+'-'+inputArr[j]);
                    }
                }
            }
        }
    }
    System.out.println("Одинаковые числа: " + test);
}
}
  • Вопрос задан
  • 158 просмотров
Решения вопроса 2
@sand3001
Всего по немногу
import java.util.*;
public class Main {
public static int n = 0;
public static void main(String[] args) {
    int n = 3;
    HashSet<String> test;
    String[] inputArr;
    Scanner in = new Scanner(System.in);
    while (n > 0) {
    System.out.println("\nВведите строку: ");
    inputArr = in.nextLine().split(" ");
    test = new HashSet<String>();
    for (int i=0; i<inputArr.length; i++) {
        if (Integer.parseInt(inputArr[i])>9) {
            for (int j=i+1; j<inputArr.length; j++) {
                if (!inputArr[i].equals(inputArr[j]) && inputArr[i].length() == inputArr[j].length()) {
                    String[] temp1 = inputArr[i].split("");
                    String[] temp2 = inputArr[j].split("");
                    boolean check1 = Arrays.asList(temp1).containsAll(Arrays.asList(temp2));
                    boolean check2 = Arrays.asList(temp2).containsAll(Arrays.asList(temp1));
                    if (check1 && check2) {
                        test.add(inputArr[i]+'-'+inputArr[j]);
                    }
                }
            }
        }
    }
    System.out.println("Одинаковые числа: " + test);
    n -= 1;
}
}
}
Ответ написан
Комментировать
HustleCoder
@HustleCoder
Циклом

for (int i = 0; i < n; i++) {
    method();
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы