+ 2
Is it possible to run a loop in a Switch default?
I have written the following code and it works "fine" but it's not the way I would like it. I tried writing a do...while loop in the default option of the switch to force the user input to choose a correct option. It didn't work and so my default closes the program. Is there a way to make the option choice repeat using switch or do I need to make a class or method to achieve this? https://code.sololearn.com/c8imNgTp6QK5/?ref=app
11 Answers
+ 2
public static void main(String[] arg){
int n=1;
boolean repeat=false;
do{
n++; // take input
repeat=false;
switch(n){
case 8:
System.out.println("valid");
break;
default :
System.out.println("invalid");
repeat=true;
}
}while(repeat);
}
// sample. Hope this helps..
// but zemiek answer will be better in your case, I think.
+ 3
Ahhh! Awesome! Thanks guys
+ 3
You can make a module or a library for the Switch Case and make a composite logical construct using if...else...endif that integrates these and returns the end result as a FUNCTION. This can be iterated by passing different subsets of values like [[1,5],[3,8]] - one 1×2 array and each element having 2 values.
+ 2
Put the swich case in do while
Take a boolean value which should be set to true in default case so that loop won't stops.. Otherwise stops,.
+ 2
or
int selectNum;
do {
selectNum = keyinput.nextInt();
} while (selectNum < 1 ||
selectNum > 6);
switch(selectNum)
{
+ 2
Ausgrindtube The structure of the function is
void function f(x,y,z){
returns modIntegrator
}
void modIntegrator{
//Mod 1
Switch Case(x):
Case 1:
Case 2:
Else
End Case
//return str(output_a)
//Mod 2
Switch Case(y):
Case 1:
Case 2:
Else
End Case
//return str(output_b)
}
//Mod 3
Switch Case(z):
Case 1:
Case 2:
Else
End Case
//return str(output_z)
returns str(output_x)+str(output_y)+str(output_z)
}
You can read x,y and z from an enum or for each or for loop or array like for(x=0;x<3;x++) or an enum like [0,1,2]
Hope this helps..feel free to ask
+ 1
I'm sorry Jayakrishna🇮🇳, my brain isn't working out the boolean part.
Would it be as simple as "boolean x = true;"? And if so, how does that stop the code from working?
Can I still include my println after the boolean or should it go before?
+ 1
I could do Zem's code but it wasn't exactly what I had in mind.
Your example is perfect!
Thanks so much.
+ 1
You're welcome..
+ 1
Thanks Sanjay Kamath. I think your solution is way past my ability. Something to look forward to learning!
+ 1
Sanjay Kamath, you probably answered to another post,
void function f (x, y, z) {
is not java, and why you create 3 switches when only one is in first code..