Я новичок в Java, и я нашел интересную проблему, которую я хотел решить. Я пытаюсь закодировать программу, которая меняет положение каждого слова строки. Например, входная строка = «ЗДЕСЬ AM I», строка вывода будет «Я ЗДЕСЬ». Я попал в это, но это не работает для меня. Может ли кто-нибудь любезно указать на ошибку и как ее исправить, потому что мне действительно интересно узнать, что происходит не так. Благодаря!Java слова reverse
import java.util.Scanner;
public class Count{
static Scanner sc = new Scanner(System.in);
static String in = ""; static String ar[];
void accept(){
System.out.println("Enter the string: ");
in = sc.nextLine();
}
void intArray(int words){
ar = new String[words];
}
static int Words(String in){
in = in.trim(); //Rm space
int wc = 1;
char c;
for (int i = 0; i<in.length()-1;i++){
if (in.charAt(i)==' '&&in.charAt(i+1)!=' ') wc++;
}
return wc;
}
void generate(){
char c; String w = ""; int n = 0;
for (int i = 0; i<in.length(); i++){
c = in.charAt(i);
if (c!=' '){
w += c;
}
else {
ar[n] = w; n++;
}
}
}
void printOut(){
String finale = "";
for (int i = ar.length-1; i>=0;i--){
finale = finale + (ar[i]);
}
System.out.println("Reversed words: " + finale);
}
public static void main(String[] args){
Count a = new Count();
a.accept();
int words = Words(in);
a.intArray(words);
a.generate();
a.printOut();
}
}
Какой у вас выход? –
Он дает «nullHEREAMHERE» –
Просто используйте split, а затем измените список;) – HyperZ