在条目为0时获取用户输入 [英] get user input while the entry is 0

查看:85
本文介绍了在条目为0时获取用户输入的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,



我想制作一个用户可以输入数字的程序(任意数字-2,-3,-4,0,100; 1000)

直到他输入0.

我在while循环中有错误,扫描程序与int不兼容,我怎么能摆脱它?有些东西不见了,我也不知道是什么。帮助。 (如果我写了愚蠢的东西我很新)



我的代码到目前为止:



Hello,

I want to make a program where the user can enter numbers (any number-2,-3,-4,0,100;1000)
until he enters 0.
I have an error at the while loop,scanner is not compatible with int,how can i get rid of that? Something is missing and i dont know what.Help pls. (sry if i wrote stupid things im new )

my code so far:

public static void main(String[] args) {

       // int[] list = new int[10];
        int i;

        System.out.println("Enter numbers :");
        Scanner input = new Scanner(System.in);

        for (i = 1; i < 100; i++) {
            while (input != 0){         // problem here , incompatible Scanner and int
             i = input.nextInt();
            }


        }

    }







Ok. so i get what you said and ty for your help,but its not working with 0.only numbers more then 0.If i neter 0 i get





Exception in thread &quot;main&quot; java.util.regex.PatternSyntaxException: Unclosed character class near index 525
(([-+]?(((((?i)[]|\p{javaDigit})++)|([\p{javaDigit}&amp;&amp;[^0]]((?i)[]|\p{javaDigit})?((?i)[]|\p{javaDigit})?(\,((?i)[]|\p{javaDigit})((?i)[]|\p{javaDigit})((?i)[]|\p{javaDigit}))+)))))|(((((?i)[]|\p{javaDigit})++)|([\p{javaDigit}&amp;&amp;[^0]]((?i)[]|\p{javaDigit})?((?i)[]|\p{javaDigit})?(\,((?i)[]|\p{javaDigit})((?i)[]|\p{javaDigit})((?i)[]|\p{javaDigit}))+)))|(\Q-\E((((?i)[]|\p{javaDigit})++)|([\p{javaDigit}&amp;&amp;[^0]]((?i)[]|\p{javaDigit})?((?i)[]|\p{javaDigit})?(\,((?i)[]|\p{javaDigit})((?i)[]|\p{javaDigit})((?i)[]|\p{javaDigit}))+)))

like this:

&lt;pre lang=&quot;cs&quot;&gt;public static void main(String[] args) {


         int i;

            System.out.println(&amp;quot;Enter numbers :&amp;quot;);
            Scanner input = new Scanner(System.in);

            for (i = 1; i &amp;lt; 100; i++) {
                while (input.hasNextInt(8)){        //need 0 here
                 i = input.nextInt();

                //if(input.hasNextInt()){


                 }

                }



    }

}&lt;/pre&gt;</pre>

推荐答案

while (input.hasNextInt()) {
   // ...
}





也许看看类扫描器 [ ^ ]会给出一些有用的例子。



Maybe a look at Class Scanner[^] would give some useful examples of its usage.


import java.util.ArrayList;

import java.util.Scanner;



public class SuccesiuneDeNumerePanaLa0 {



public st atic void main(String [] args){



int sum = 0;



ArrayList< integer> ; negative_list = new ArrayList< integer>();

ArrayList< integer> pozitive_list = new ArrayList< integer>();



System.out.println(在列表中输入数字:);



扫描仪输入=新扫描仪(System.in);



while(input.hasNextInt()){



int i = input.nextInt();

if(i< 0){

negative_list.add(i);

}

如果(i == 0){

休息;

}

if(i> 0){

pozitive_list.add(i);



}



for(int j:pozitive_list){

sum + = j;

}



}



System.out.println(+ sum);

System.out.println(+ negative_list.size());



}



}
import java.util.ArrayList;
import java.util.Scanner;

public class SuccesiuneDeNumerePanaLa0 {

public static void main(String[] args) {

int sum = 0;

ArrayList<integer> negative_list = new ArrayList<integer>();
ArrayList<integer> pozitive_list = new ArrayList<integer>();

System.out.println("Enter number to the list: ");

Scanner input = new Scanner(System.in);

while (input.hasNextInt()) {

int i = input.nextInt();
if (i < 0) {
negative_list.add(i);
}
if (i == 0) {
break;
}
if (i > 0) {
pozitive_list.add(i);

}

for (int j : pozitive_list) {
sum += j;
}

}

System.out.println(" " + sum);
System.out.println(" " + negative_list.size());

}

}


这篇关于在条目为0时获取用户输入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆