Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Write a while loop that prints userNum divided by 2 (integer division) until rea

ID: 3806821 • Letter: W

Question

Write a while loop that prints userNum divided by 2 (integer division) until reaching 1. Follow each number by a space. Example output for userNum = 20: 20 10 5 2 1 Note: These activities may test code with different test values. This activity will perform four tests, with userNum = 20, then with userNum = 1, then with userNum = 0, then with userNum = -1.

See How to Use zyBooks. Also note: If the submitted code has an infinite loop, the system will stop running the code after a few seconds, and report "Program end never reached." The system doesn't print the test case that caused the reported message.

I am able to run the program and it appears it is doing as I wish it to however I do not receive "All tests passes" and I am getting the message "Program end never reached (commonly due to an infinite loop, infinite recursion, or divide/mod by 0). Tests aborted." I really need help with this! Thank you.

import java.util.Scanner; public class DivideByTwoLoop {

public static void main (String [] args) {

int userNum = 0;

userNum = 20;

while(userNum >= 1){ System.out.print(userNum + " ");

userNum = userNum/2;

}

while(userNum != 0)

{ System.out.print(userNum + " ");

}

System.out.println("");

return; }

}

It seems like no matter what I do this code is still giving me the error "

Program end never reached (commonly due to an infinite loop, infinite recursion, or divide/mod by 0).

Tests aborted"


import java.util.Scanner;
public class DivideByTwoLoop {

public static void main (String [] args) {

int userNum = 0;
userNum = 20;     

while(userNum >= 1){ System.out.print(userNum + " ");
userNum = userNum/2;
}
if((userNum >1) && !(userNum ==0)){

System.out.print(userNum);

} else {    

}

while(userNum !=0) System.out.print(userNum + " ");    

System.out.println("");
return; }

}

Explanation / Answer

DivideByTwoLoop.java

import java.util.Scanner;
public class DivideByTwoLoop {
public static void main (String [] args) {
int userNum = 0;
userNum = 20;
/* Your solution goes here */
while(userNum>=1){
   System.out.print(userNum+" ");
   userNum = userNum/2;
}

System.out.println("");
return;
}
}

Output:

20 10 5 2 1

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote