package test;
import java.util.Scanner;
public class Char {
public static void main(String[] args) {
char c = 0;
Scanner scan = new Scanner(System.in);
printeaza(c, scan);
}
public static char printeaza(char c, Scanner sc) {
c = sc.next().charAt(0);
if (sc.hasNext()) {
System.out.println(printeaza(c, sc));
return c;
} else {
return c;
}
}
}
То, что я пытаюсь сделать, это напечатать буквы с клавиатуры, а затем их перевернуть в обратном порядке. Я знаю, что это может быть сделано очень легко с помощью циклов for и char, но мне любопытно сделать это рекурсивно и использовать только одну переменную char. Я почти сделал это, но кажется, что он печатает все, кроме первой буквы.Java recursive System.out.println()
Так что, если я набираю: «a s d f» вместо «f d s a», я получаю только «f d s». Я думаю, что я знаю, почему это происходит потому, что заявление Println находится только внутри оператора if, но я как бы запускаю идеи о том, как заставить функцию «поймать» первую букву. Надеюсь, вы можете посмотреть, спасибо!
'printeaza' не нуждается в параметре char. Первое, что вы делаете в методе, - это перезаписать его. – Cruncher
Используйте отладчик Java. Вам не нужно просить других людей отлаживать ваш код для вас. Если вы не знаете, как, тогда учитесь ... –
Я не просил людей отлаживать код для меня. Я просто просил идее, потому что я застрял. Я не очень опытен в «мышлении с рекурсией». В любом случае спасибо за то, что вы ничего не сказали. Вы получаете баллы за ответ? – erasmus77