Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class lab22 {
- public static int inputNumber() {
- Scanner scanner = new Scanner(System.in);
- final int MAX_NUMBER = 100000000;
- boolean isIncorrect;
- int number;
- number = 0;
- System.out.printf("Введите натуральное число не большее, чем %,d \n", MAX_NUMBER);
- do {
- isIncorrect = false;
- try {
- number = Integer.parseInt(scanner.nextLine());
- } catch (Exception ex) {
- System.out.println("Число должно быть целым.");
- isIncorrect = true;
- }
- if (!isIncorrect && (number < 1 || number > MAX_NUMBER)) {
- System.out.printf("Число должно быть больше 0 и не больше, чем %,d \n", MAX_NUMBER);
- isIncorrect = true;
- }
- } while (isIncorrect);
- scanner.close();
- return number;
- }
- public static int searchMaxCountOfRepeats(String numberArray) {
- int maxCountOfRepeats, counter;
- maxCountOfRepeats = 0;
- int endNumber;
- endNumber = numberArray.length();
- for (int i = 0; i < endNumber; i++) {
- counter = 1;
- for (int j = i + 1; j < endNumber; j++) {
- if (numberArray.charAt(i) == (numberArray.charAt(j)))
- counter++;
- if (counter > maxCountOfRepeats)
- maxCountOfRepeats = counter;
- }
- }
- return maxCountOfRepeats;
- }
- public static void allSolutions(String numberArray, int maxCountOfRepeats) {
- int counter;
- int endNumber;
- endNumber = numberArray.length();
- for (int i = 0; i < endNumber; i++) {
- counter = 1;
- for (int j = i + 1; j < endNumber; j++) {
- if (numberArray.charAt(i) == numberArray.charAt(j)) {
- counter++;
- if (counter == maxCountOfRepeats)
- System.out.print(numberArray.charAt(i) + "; ");
- }
- }
- }
- }
- public static void printResult(String numberArray, int maxCountOfRepeats) {
- System.out.println("Самая часто встречающаяся цифра/цифры: ");
- if (maxCountOfRepeats == 1)
- System.out.println("Такой цифры нет.");
- if (maxCountOfRepeats == 0)
- System.out.println(numberArray);
- else
- allSolutions(numberArray, maxCountOfRepeats);
- }
- public static void main(String[] args) {
- int maxCountOfRepeats;
- String numberArray;
- System.out.println("Программа позволяет узнать, какая цифра в данном числе встречается чаще всего.");
- numberArray = Integer.toString(inputNumber());
- maxCountOfRepeats = searchMaxCountOfRepeats(numberArray);
- printResult(numberArray, maxCountOfRepeats);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement