кодесурса

Упражнения на Java: принимает строку от пользователя и проверяет, является ли строка правильной или нет

script1adsense2code
script1adsense3code

Java Basic: упражнение 244 с решением

Напишите программу на Java, которая принимает строку от пользователя и проверяет, является ли строка правильной или нет.

Условия получения «правильного ответа»:
а) В строке должно быть только три символа X, Y и Z, и никаких других символов.
б) Любая строка любой формы, например, aXYZa, может получить «правильный ответ», где a является либо пустой строкой, либо строкой, состоящей только из буквы X;
c) Если aXbZc корректно, aXbYZca также корректно, где a, b, c - либо пустые строки, либо строка, состоящая только из буквы X.

Пример решения:

Java-код:

import java.util.PriorityQueue;
import java.util.Scanner;
 
public class Main {
     
    static class Dic implements Comparable<Dic>{
        String moji;
        int page;
        Dic(String moji, int page){
            this.moji=moji;
            this.page=page;
        }
        public int compareTo(Dic d) {
            if(this.moji.equals(d.moji)) {
                return this.page-d.page;
            }
            else {
                return this.moji.compareTo(d.moji);
            }
        }
    }
     
    public static void main(String[] args) {
        try(Scanner sc = new Scanner(System.in)){
            PriorityQueue<Dic> pq=new PriorityQueue<>();
			System.out.println("Input pairs of a word and a page number:"); 
            while(sc.hasNextLine()) {
                String str=sc.nextLine();
                String[] token=str.split(" ");
                String s=token[0];
                int n=Integer.parseInt(token[1]);
                pq.add(new Dic(s, n));
            }
            String pre="";
           System.out.println("\nWord and page number in alphabetical order:"); 
            while(!pq.isEmpty()) {
                Dic dic=pq.poll();
                if(dic.moji.equals(pre)) {
                    System.out.print(" "+dic.page);
                }
                else if(pre.equals("")) {
                    System.out.println(dic.moji);
                    System.out.print(dic.page);
                }
                else {
                    System.out.println();
                    System.out.println(dic.moji);
                    System.out.print(dic.page);
                }
                pre=dic.moji;
            }
            System.out.println();
        }
    }
}

Пример вывода:

 Введите строку:
 XYZ
Правильный формат ..

Блок - схема:

«Блок-схема:

Редактор кода Java:

Внесите свой код и комментарии через Disqus.

Предыдущий: Напишите Java-программу, которая считывает список пар слова и номера страницы и печатает слово и список соответствующих номеров страниц.
Далее: Напишите программу на Java, которая принимает имена, идентификаторы и оценки учеников и отображает наивысший балл и наименьший балл.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code