Hallo,
ich will folgendes Programm schreiben:
ich lese zwei Zeichenketten ein, wobei die 1. ein normales Wort ist und die 2. das um eine bestimme Anzahl nach rechts verschobene Original ist.
Ich habe es folgendermaßen gemacht:
Wäre das ok so oder habe ich das vllt zu kompliziert bzw. damit schlecht programmiert?
ich will folgendes Programm schreiben:
ich lese zwei Zeichenketten ein, wobei die 1. ein normales Wort ist und die 2. das um eine bestimme Anzahl nach rechts verschobene Original ist.
Ich habe es folgendermaßen gemacht:
Java:
import java.util.Scanner;
public class ZyklischesVerschieben {
public static boolean isgleich(char a[],char b[]) {
for(int i=0; i<a.length;i++) {
if(a[i]!=b[i]) return false;
}
return true;
}
public static void main(String [] args) {
Scanner s=new Scanner(System.in);
String w=s.next();//Zeichenkette normal
String x=s.next();//Zeichenkette verschoben
int counter=0; //Anzahl der Verschiebungen
char [] a=new char[w.length()];
for(int i=0;i<w.length();i++) {
a[i]=w.charAt(i);
}
char [] b=new char[w.length()];
for(int i=0;i<w.length();i++) {
b[i]=x.charAt(i);
}
while(!(isgleich(a,b))) {
for(int i=0;i<w.length()-1;i++) {
char temp=b[i+1];
b[i+1]=b[i];
b[i]=temp;
}
counter++;
}
System.out.println(counter);
}
}
Wäre das ok so oder habe ich das vllt zu kompliziert bzw. damit schlecht programmiert?