Test 1 Input: java Actual Expected Enter a positive integer: Exception in thread "main" java.util.InputMismatchException Enter a positive integer: Not an integer: java at java.base/java.util.Scanner.throwFor (Scanner.java:939) at java.base/java.util.Scanner.next(Scanner.java:1594) at java.base/java.util.Scanner.nextDouble(Scanner.java:2564) at NumberLoops.main(NumberLoops.java:15) fail Test 2 Input: Actual Expected positive: 0 Enter a positive integer: Not positive : 0.0 Enter a positive integer: fail Test 3 Input: -4 Expected Actual -4.0 Enter a positive integer: Not positive: -4 Enter a positive integer: Not positive fail
Help me fix the code
make it look like the expected
Please !!!!
no using try_catch
no using parse method
no using nested loop
thank you
import java.util.Scanner;
public class NumberLoops
{
public static void main(String[] args)
{
double num;
double result = 1;
int i;
Scanner sc = new Scanner(System.in); // Create a Scanner object
// Take user input for the Positive Number
System.out.print("Enter a positive integer: ");
num = sc.nextDouble(); // Read user input
// if the input number is not an integer
if(num % 1 != 0)
{
// print the message
System.out.println("Not an Integer: " + num);
System.exit(0);
}
// if the number is not a positive number
if(num <= 0 )
{
// print the message
System.out.println("Not positive : " + num);
System.exit(0);
}
// for loop which iterates from i = 1 till i < number
for(i = 1 ; i < num ; i++)
{
// checking if the number is a multiple of 3
if( i % 3 == 0 )
// multiply the number i with the result
result = result * i;
}
// Printing the product of all the numbers less than num and multiple of 3
System.out.printf("The product is %.0f." , result);
// Printing all the Non negative integers from 0 and less than the passed number
System.out.print("\nAll non-negative integers less than the input integer:");
// for loop to print all the mom negative numbers less than the passed integer
for(i = 0 ; i < num ; i++)
{
// print a new line if i modular division 10 = 0
if(i % 10 == 0)
System.out.println();
// print the number with three spaces
System.out.printf("%3d" , i);
}
}
}
Trending now
This is a popular solution!
Step by step
Solved in 2 steps with 1 images