Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法正确解决任务_Java - Fatal编程技术网

Java 无法正确解决任务

Java 无法正确解决任务,java,Java,我使用eclipse作为Ide。我尝试为以下任务编写源代码: “编写一个算法,提示用户输入一系列整数(每一个在单独的行上)。输入将以值零终止。用户输入零后,显示负值和正值的数量(计数)。” 这是我的源代码,如果有人有任何想法或建议,我将不胜感激。谢谢 import java.util.Scanner; public class CountNums { public static void main(String[] args) { Scanner input

我使用eclipse作为Ide。我尝试为以下任务编写源代码:

“编写一个算法,提示用户输入一系列整数(每一个在单独的行上)。输入将以值零终止。用户输入零后,显示负值和正值的数量(计数)。”

这是我的源代码,如果有人有任何想法或建议,我将不胜感激。谢谢

import java.util.Scanner; 

public class CountNums {    

    public static void main(String[] args) {
        Scanner input = new Scanner (System.in);        
        System.out.println("Enter a series of integers and 0 for exit of the loop:");       
        int i = input.nextInt();        
        int negative = 0;       
        int positive = 0 ;          
        while (i != 0 ) {
            System.out.println("Enter next integer: ");
            i = input.nextInt();        
            if (i < 0) {
                System.out.println( negative += 1 );
            }else if (i > 0)  {
                System.out.println(positive += 1);          
            }
        }   
    } 

}
import java.util.Scanner;
公共类CountNums{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
System.out.println(“输入一系列整数,0表示循环的出口:”);
int i=input.nextInt();
int负=0;
int正=0;
而(i!=0){
System.out.println(“输入下一个整数:”);
i=input.nextInt();
if(i<0){
系统输出打印项次(负+=1);
}如果(i>0),则为else{
系统输出打印项次(正+=1);
}
}   
} 
}
您有两个问题:

  • 用户输入的第一个数字在计数中被忽略。为什么?
  • 当程序结束时,变量
    正数
    负数
    不会按照规范要求显示。相反,除第一次外,每次用户输入数字时都会显示它们

  • 我不会为您提供书面代码,但我希望能提供一些东西来帮助您思考

    你所要求的问题并不太难,所以你应该能够多考虑一下


    你似乎在正确的轨道上。说明中说,您希望打印出用户输入0后输入的正数和负数。此时,您将在每次用户输入后输出它 您不需要执行System.out.println()。。。每次你读到一个数字。只需增加计数(正数++),然后执行System.out.println(“正数计数为”+正数);在while循环之后。

    在每次迭代中打印负值或正值的数量。你想在
    循环之后打印,而不是在
    循环之后。

    这听起来像是一个家庭作业。网站的政策说我们不应该回答这个问题@Stefano你可以用暗示的方式来回答,直接给出答案并不是最好的做法……你有什么问题吗?也许听起来像,但事实并非如此t@Kiril当前位置这是一个不是家庭作业的练习。很公平。然而,我们应该像对待家庭作业一样对待它:我们应该提供提示和指导,而不是现成的解决方案。
    System.out.println( negative += 1 );