Meine Ausgabe erhält zuerst die Großbuchstaben und ordnet diese Großbuchstaben in alphabetischer Reihenfolge als Kleinbuchstaben und ordnet diese in alphabetischer Reihenfolge. Ich möchte zuerst die Großbuchstaben in Kleinbuchstaben umwandeln und sie dann in alphabetischer Reihenfolge nach der gewünschten Ausgabe anordnen und Änderungen sollen nur in der collectLetters() Methode vorgenommen werden. Kann mir bitte jemand dabei helfen? Danke im Voraus.Alle Buchstaben aus einer Zeichenkette in Kleinbuchstaben umwandeln und dann alle in alphabetischer Reihenfolge anordnen
public class QuizIID
{
public static String collectLetters(String text)
{
char[] charArray = text.toCharArray();
Arrays.sort(charArray);
String sortedString = new String(charArray);
return sortedString;
}
// runTest Methode
private static boolean runTest(int testNum, String p0, boolean hasAnswer, String p1)
{
System.out.print("Test #" + testNum + ": [" + "\"" + p0 + "\"");
System.out.println("]");
String answer;
answer = collectLetters(p0);
boolean res;
res = true;
if (hasAnswer) {
System.out.println("Desired answer:");
System.out.println("\t" + "\"" + p1 + "\"");
}
System.out.println("Your answer:");
System.out.println("\t" + "\"" + answer + "\"");
if (hasAnswer) {
res = answer.equals(p1);
}
if (!res) {
System.out.println("DOESN'T MATCH!!!!");
} else if (hasAnswer) {
System.out.println("Correct!");
}
System.out.println();
return res;
}
// Haupt Methode
public static void main(String[] args) {
int count = 0;
String p0;
String p1;
// ----- test 1 -----
p0 = "She sells sea shells";
p1 = "aeeeehhllllssssss";
if(runTest(1, p0, true, p1)) count++;
// ------------------
// ----- test 2 -----
p0 = "ReMemBEr To IgnoRE CASe";
p1 = "abceeeeegimmnoorrrst";
if(runTest(2, p0, true, p1)) count++;
// ------------------
// ----- test 3 -----
p0 = "12345";
p1 = "";
if(runTest(3, p0, true, p1)) count++;
// ------------------
// ----- test 4 -----
p0 = "Programming III is fun";
p1 = "afggiiiiimmnnoprrsu";
if(runTest(4, p0, true, p1)) count++;
// ------------------
// ----- test 5 -----
p0 = "Knights are better than Bishops";
p1 = "aabbeeeghhhiiknnoprrssstttt";
if(runTest(5, p0, true, p1)) count++;
// ------------------
System.out.print(count + " out of 5");
if (count == 5)
{
System.out.println("!");
}
else
{
System.out.println(".");
}
}
}
// gewünschte Ausgabe
----jGRASP exec: java QuizIID -Xlint:unchecked
Test #1: ["She sells sea shells"]
Desired answer:
"aeeeehhllllssssss"
Your answer:
"aeeeehhllllssssss"
Correct!
Test #2: ["ReMemBEr To IgnoRE CASe"]
Desired answer:
"abceeeeegimmnoorrrst"
Your answer:
"abceeeeegimmnoorrrst"
Correct!
Test #3: ["12345"]
Desired answer:
""
Your answer:
""
Correct!
Test #4: ["Programming III is fun"]
Desired answer:
"afggiiiiimmnnoprrsu"
Your answer:
"afggiiiiimmnnoprrsu"
Correct!
Test #5: ["Knights are better than Bishops"]
Desired answer:
"aabbeeeghhhiiknnoprrssstttt"
Your answer:
"aabbeeeghhhiiknnoprrssstttt"
Correct!
5 out of 5!
----jGRASP: operation complete.
// Meine Ausgabe
----jGRASP exec: java QuizIID
Test #1: ["She sells sea shells"]
Desired answer:
"aeeeehhllllssssss"
Your answer:
" Saeeeehhllllsssss"
DOESN'T MATCH!!!!
Test #2: ["ReMemBEr To IgnoRE CASe"]
Desired answer:
"abceeeeegimmnoorrrst"
Your answer:
"ABCEEIMRRSTeeegmnoor"
DOESN'T MATCH!!!!
Test #3: ["12345"]
Desired answer:
""
Your answer:
"12345"
DOESN'T MATCH!!!!
Test #4: ["Programming III is fun"]
Desired answer:
"afggiiiiimmnnoprrsu"
Your answer:
" IIIPafggiimmnnorrsu"
DOESN'T MATCH!!!!
Test #5: ["Knights are better than Bishops"]
Desired answer:
"aabbeeeghhhiiknnoprrssstttt"
Your answer:
" BKaabeeeghhhiinnoprrssstttt"
DOESN'T MATCH!!!!
0 out of 5.
----jGRASP: operation complete.
Es ist schwer zu wissen, wo ich anfangen soll, mit diesem. Was ist die Frage? Was ist das Problem? Was hast du probiert? Wo denkst du, dass du falsch liegst? Wie versuchen Sie, den Fall zu ändern? Nichts in Ihrer 'collectLetters' Methode tut etwas mit case. –
Dies würde definitiv mehr Beschreibung und Ausarbeitung von den Autoren Ende verwenden. Meinst du damit, einen String nach seinen Zeichen zu sortieren und einen neuen String auszugeben? – anthonymonori
Sie können die Frage nicht einfach in eine komplett andere Frage ändern, indem Sie vorhandene Antworten ungültig machen. Wenn Sie eine neue Frage haben, wird von Ihnen erwartet, dass Sie einen neuen Beitrag verwenden. Ich habe die Frage auf das Original zurückgesetzt. –