0
What is the output of this program if the input: 1 2 3 4 -5 0 26?
import java.util.Scanner; public class Q_09 { public static void main(String[] args) { int n, neg_count=0,sum=0; Scanner input=new Scanner(System.in); System.out.println("Enter n:"); n=input.nextlnt(); while(n !=0) { n=input.nextlnt(); if(n<0) neg_count++; sum +=n; System.out.println("sum="+sum); } System.out.println("#of negatives:"+ neg_count +"\t"+"Total="+sum); } }
4 Answers
+ 1
'n' is not decremented inside the loop so the while will run infinite times.
0
Code got syntax error. In `nextInt` you use lowercase 'L => 'l'', while you instead should use uppercase 'i' => 'I'.
If you want the real sum you could add the first <n> into <sum>. In your code you only add the second and successive <n> into <sum>. I'm not even sure what you want by this code.
You can opt to use do-while loop here, as you read <n> at least once. You can check value of <n> and exit loop by using `if` inside the do-while loop.
0
Ipang he is getting the number of integer inputs outside the loop and then taking that many inputs inside the loop and adding them.
For the whole loop to successfully terminate, he should give the last input as 0. It needs some modifications in order to work properly.
0
int count = input.nextInt();
while (count-- != 0) {
n = input.nextInt();