кодесурса

Упражнения на Java: читает список пар слова и номера страницы и печатает слово и список соответствующих номеров страниц

script1adsense2code
script1adsense3code

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

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

Входные данные :
Введите пары слов и номера страницы:
яблоко 5
банан 6
Слово и номер страницы в алфавитном порядке:
яблоко
5
банан
6

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

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();
        }
    }
}

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

 Введите пары слов и номера страницы:
яблоко 5
банан 6
Слово и номер страницы в алфавитном порядке:
яблоко
5
банан
6

Блок - схема:

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

Блок - схема:

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

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

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

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

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

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


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code