This question has already been answered:
There is a program-catalog of drinks. Why the data entered by the user, namely, the name and type on the console are displayed with all sorts of characters? And how to fix it?
import java.util.*; import java.util.ArrayList; import java.util.Scanner; public class Katalog { static ArrayList<String> name = new ArrayList<String>(); static ArrayList<String> type = new ArrayList<String>(); static ArrayList<Double> percent = new ArrayList<Double>(); static Scanner in = new Scanner(System.in); public static void main(String[] args) { while(true) { System.out.println("ΠΡΠ±Π΅ΡΠΈΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅: "); System.out.println("1 - ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π²Π΅ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³"); System.out.println("2 - Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ Π½Π°ΠΏΠΈΡΠΎΠΊ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³"); System.out.println("3 - ΠΏΠΎΠΈΡΠΊ Π½Π°ΠΏΠΈΡΠΊΠ° Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅Π½ΠΎΠΉ ΠΏΡΠΈ ΠΊΡΠ΅ΠΏΠΎΡΡΠΈ Π½Π΅ Π½ΠΈΠΆΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ"); int choose = in.nextInt(); switch(choose) { case 1: printall(); break; case 2: add(); break; case 3: found_minimum(); break; } System.out.println(""); } } static void printall() { for(int i=0;i<name.size();i++) System.out.println(printone(i)); } static String printone(int i) { return "ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅: " + name.get(i)+ " - Π’ΠΈΠΏ " + type.get(i) +" - Π‘ΠΏΠΈΡΡΠ° " + percent.get(i)+ "%."; } static void add() { System.out.println("ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅: "); name.add(in.next()); System.out.println("ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΠΏ: "); type.add(in.next()); System.out.println("ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅Π½ΡΠ½ΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΠΏΠΈΡΡΠ°: "); percent.add(in.nextDouble()); } static void found_minimum() { System.out.println("ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π½ΠΈΠΆΠ½ΠΈΠΉ ΠΏΡΠ΅Π΄Π΅Π» ΠΏΡΠΎΡΠ΅Π½ΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΡ ΡΠΏΠΈΡΡΠ°: "); double limit = in.nextDouble(); Boolean found = false; if(percent.size()>1) { int pos = 0; double max = percent.get(0); for(int i=0;i<percent.size();i++) if(percent.get(i)>max){ max=percent.get(i);pos=i;} double min = max; if(min>=limit) { found = true; for(int i=0;i<percent.size();i++) if(percent.get(i)<min && percent.get(i)>=limit){ min=percent.get(i);pos=i;} } if(found) System.out.println("ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΏΠΎ ΠΏΡΠΎΡΠ΅Π½ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΡ ΡΠΏΠΈΡΡΠ°: " + printone(pos)); else System.out.println("Π’Π°ΠΊΠΎΠ³ΠΎ Π½Π°ΠΏΠΈΡΠΊΠ° Π½Π΅Ρ!"); } } }