Guys, I need help with my java code, I have been working on this problem for hours. The problem is that when my inner while loop turns out true, it returns to the outer while loop, and the inner while loop doesn’t run anymore. Is there another alternative for this method because I want the inner while loop to run again after it turns out true and repeats the outer loop and inner loop again. Please help.
here is the code:
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;
public class Main {
public static void main(String[] args) throws UnsupportedAudioFileException, IOException, LineUnavailableException {
Scanner console = new Scanner(System.in);
File file1 = new File("Cumbia City - An Jone.wav");
File file2 = new File("This City.wav");
File file3 = new File("Binibini.wav");
AudioInputStream audioStream1 = AudioSystem.getAudioInputStream(file1);
Clip clip1 = AudioSystem.getClip();
clip1.open(audioStream1);
AudioInputStream audioStream2 = AudioSystem.getAudioInputStream(file2);
Clip clip2 = AudioSystem.getClip();
clip2.open(audioStream2);
AudioInputStream audioStream3 = AudioSystem.getAudioInputStream(file3);
Clip clip3 = AudioSystem.getClip();
clip3.open(audioStream3);
char response_char = 'l';
String output = "";
while(response_char != 'o') {
System.out.println("Select a Music: A- Cumbia City, B- This City, C- Binibini");
System.out.print("Choice: ");
String response = console.next();
response_char = response.charAt(0);
while(!output.equals("Q")) {
if(response_char == 'A' || response_char == 'a') {
System.out.println("P- Play, S- Stop, R- Reset, Q- Quit");
output = console.next();
output = output.toUpperCase();
switch(output) {
case ("P"): clip1.start();
break;
case ("S"): clip1.stop();
break;
case ("R"): clip1.setMicrosecondPosition(0);
break;
case ("Q"): clip1.close();
break;
default: System.out.println("Invalid output");
}
} else if(response_char == 'B'|| response_char == 'b') {
System.out.println("P- Play, S- Stop, R- Reset, Q- Quit");
output = console.next();
output = output.toUpperCase();
switch(output) {
case ("P"): clip2.start();
break;
case ("S"): clip2.stop();
break;
case ("R"): clip2.setMicrosecondPosition(0);
break;
case ("Q"): clip2.close();
break;
default: System.out.println("Invalid output");
}
} else if(response_char == 'C' || response_char == 'c') {
System.out.println("P- Play, S- Stop, R- Reset, Q- Quit");
output = console.next();
output = output.toUpperCase();
switch(output) {
case ("P"): clip3.start();
break;
case ("S"): clip3.stop();
break;
case ("R"): clip3.setMicrosecondPosition(0);
break;
case ("Q"): clip3.close();
break;
default: System.out.println("Invalid output");
}
} else {
System.out.println("Invalid song");
}
} //Inner while loop
} //Outer while loop
}
}