59.3k views
4 votes
"Simon Says" is a memory game where "Simon" outputs a sequence of 10 characters (R, G, B, Y) and the user must repeat the sequence. Create a for loop that compares the two strings starting from index 0. For each match, add one point to userScore. Upon a mismatch, exit the loop using a break statement. Assume simonPattern and userPattern are always the same length. Ex: The following patterns yield a userScore of 4:

simonPattern: RRGBRYYBGY
userPattern: RRGBBRYBGY
import java.util.Scanner;
public class SimonSays {
public static void main (String [] args) {
Scanner scnr = new Scanner(System.in);
String simonPattern;
String userPattern;
int userScore;
int i;
userScore = 0;
simonPattern = scnr.next();
userPattern = scnr.next();
/* Your solution goes here */
System.out.println("userScore: " + userScore);
return;
}
}

User Imreal
by
7.5k points

1 Answer

7 votes

Final answer:

To compare the two strings and calculate the user's score, use a for loop that checks for matches and adds one point to the score for each match. Exit the loop with a break statement upon a mismatch.

Step-by-step explanation:

To create a for loop that compares the two strings starting from index 0 and keeps track of the user's score, you can use the following code:



for (int i = 0; i < simonPattern.length(); i++) {
if (simonPattern.charAt(i) == userPattern.charAt(i)) {
userScore++;
} else {
break;
}
}



This code iterates through each character in the patterns and checks if the characters at the same index match. If they match, the user's score is increased by one. If there is a mismatch, the loop is exited using a break statement.



In the given example, the simonPattern is "RRGBRYYBGY" and the userPattern is "RRGBBRYBGY", which results in a userScore of 4.

User Ed Gonzalez
by
8.1k points