Гост написа:Да се напише програма в java,която проверява дали дадено число е просто или съставно използвайки цикъла while ,но не boolean.
$\\[12pt]\quad$Не разбирам какво имате в предвид под "... но не boolean". Ето преложение за метод, който проверява дали дадено число е самопросто или съставно с while цикъл и резултат от тип byte, и две предложения за програма която иска от потребителя да въведе число и го проверява.$\\[12pt]\quad$Не знам на какво ниво сте учили Java. По-старите учебни материали ще Ви покажат вход/изход със System.in.read() / System.out.printf(), докато по-съвременните учебни материали използват библиотеки като util.Scanner и io.BufferedReader/ io.InputStreamReader. Вторият вариант за програма, който Ви предлагам е за по-напреднали в програмирането.$\\[12pt]\quad$Прегледайте за липсващи точка и запетая маркери по редовете, както и за печатни грешки.
Метод за проверка с while като използваме byte вместо boolean.
- Код: Избери целия код
public static byte eSamoprosto(int num) {
if (num <= 1) {
return 0;
}
int i = 2;
while (i * i <= num) {
if (num % i == 0) {
return 0;
}
i++;
}
return 1;
}
Програма Вариант 1:
- Код: Избери целия код
import java.util.Scanner;
public class PrimeChecker {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Моля въведете цяло число по-голямо от 1: ");
int number = scanner.nextInt();
byte resultat = eSamorposto(number);
if (resultat == 1) {
System.out.println(number + " е самопросто.");
} else {
System.out.println(number + " е съставно число.");
}
scanner.close();
}
public static byte eSamorposto(int num) {
сложете кода на процедурата тук
}
}
Програма Вариант 2:
- Код: Избери целия код
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class PrimeChecker {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Моля въведете цяло число по-голямо от 1: ");
try {
int number = Integer.parseInt(reader.readLine());
if (eSamorposto(number) == 1) {
System.out.println(number + " е самопросто число.");
} else {
System.out.println(number + " е съставно число.");
}
} catch (IOException e) {
System.out.println("Грешка при четене на входящия поток.");
} catch (NumberFormatException e) {
System.out.println("Моля въведете цяло число по-голямо от 1.");
}
}
public static boolean eSamorposto(int chislo) {
сложете кода на процедурата тук
}
}
[tex]\color{lightseagreen}\text{''Който никога не е правил грешка, никога не е опитвал нещо ново.''} \\
\hspace{21em}\text{(Алберт Айнщайн)}[/tex]