Как связать методы, чтобы после выполнения первого круга процесс не заканчивался?
Задача (вкратце) : задается буква англ. алфавита и при помощи ascii кода надо переделать Прописную в строчную и наоборот, код заканчивается после нажатия указанного символа (он вводится с клавиатуры).
Моя проблема: у меня 3 метода:
- Отвечает за условие (совпадение и не совпадение с символом "конца")
- за изменение символа
- за вывод результата.
Не понимаю, как их связать, чтобы после выполнения первого круга процесс не заканчивался.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("What is the 'end' symbol?");
Scanner in = new Scanner(System.in);
char endSymbol = in.next().charAt(0);
System.out.println("Put your symbol in");
char newSymbol = in.next().charAt(0);
ConsoleChanger consoleChanger = new ConsoleChanger(endSymbol);
while(){
consoleChanger.continueProcess(newSymbol);
consoleChanger.endProcess();
}}
}
---------------------------------------------------------------------------------
public class ConsoleChanger {
char endSymbol;
char sysIn;
char resultSymbol;
ConsoleChanger(char c) {
endSymbol = c;
}
void startProcess(char sysInSymbolA){
sysIn = sysInSymbolA;
if (sysIn == endSymbol){
System.out.println("It is the end...");
System.exit(0);
}
}
void continueProcess(char sysInSymbolB){
sysInSymbolB = sysIn;
int number = (int) sysIn;
if (number>= 65 && number<= 90){
number += 32;
resultSymbol = (char) number;
}
else{
if (number>= 97 && number <= 122){
number -=32;
resultSymbol = (char) number;
}
}
}
void endProcess(){
System.out.println(resultSymbol);
}
}
Ответы (1 шт):
Автор решения: Sergey Zh.
→ Ссылка
Представленный вами код не самый оптимальный, но если нужно чтобы он заработал, то вот следующие необходимые исправление в методе main:
public static void main(String[] args) {
System.out.println("What is the 'end' symbol?");
Scanner in = new Scanner(System.in);
char endSymbol = in.next().charAt(0);
System.out.println("Put your symbol in");
char newSymbol = in.next().charAt(0);
ConsoleChanger consoleChanger = new ConsoleChanger(endSymbol);
while(true){
consoleChanger.startProcess(newSymbol);
consoleChanger.continueProcess(newSymbol);
consoleChanger.endProcess();
System.out.println("Put your symbol in");
newSymbol = in.next().charAt(0);
}
}