Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.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 如何退出双数组列表';带负int值检查的s While循环?_Java_Arraylist_Int_Double - Fatal编程技术网

Java 如何退出双数组列表';带负int值检查的s While循环?

Java 如何退出双数组列表';带负int值检查的s While循环?,java,arraylist,int,double,Java,Arraylist,Int,Double,这是一个购物清单程序。用户为列表中的每个项目输入一个值,如$2.00。但如果她想退出这部分程序,她会输入“-1” 我理解这个双数组列表和int“-1”是“不可比较的类型”,正如编译器错误消息所显示的那样 关于双数组列表的int“-1”退出代码有什么建议吗 谢谢 这是我的密码: ArrayList<Double> priceInputAnswer = new ArrayList<Double>() {

这是一个购物清单程序。用户为列表中的每个项目输入一个值,如$2.00。但如果她想退出这部分程序,她会输入“-1”

我理解这个双数组列表和int“-1”是“不可比较的类型”,正如编译器错误消息所显示的那样

关于双数组列表的int“-1”退出代码有什么建议吗

谢谢

这是我的密码:

 ArrayList<Double> priceInputAnswer = new ArrayList<Double>()                

                {
                    System.out.print("Please enter an item price, or -1 to exit: $");
                    Scanner numberReader = new Scanner (System.in); 
                    while (numberReader.hasNextDouble())
                        {
                        priceInputAnswer.add(numberReader.nextDouble());

                        }

                                while (priceInputAnswer != -1) 
ArrayList priceinputaswer=new ArrayList()
{
System.out.print(“请输入商品价格,或-1退出:$”;
扫描仪编号Reader=新扫描仪(System.in);
while(numberReader.hasNextDouble())
{
priceinputswer.add(numberReader.nextDouble());
}
while(priceinputswer!=-1)

}

您的实际代码似乎无法编译。

无论如何,你可以分两步来做事情。
1) 将扫描仪的值存储在
priceInput
变量中
2) 在while语句中使用它:
while(priceInput!=-1)

do/while
表单不一定是满足您需求的最佳表单。
你应该这样写:

double priceInput = -1;
do {
    priceInput = numberReader.nextDouble();
    if (priceInput != -1) {
        priceInputAnswer.add(priceInput);
    }
} while (priceInput != -1);
一个
while
,在之前检索到一个输入,因为它避免了循环中的
if
语句,所以看起来更自然:

double priceInput = numberReader.nextDouble();
while (priceInput != -1) {
    priceInputAnswer.add(priceInput);
    priceInput = numberReader.nextDouble();
}

您的实际代码似乎无法编译。

无论如何,你可以分两步来做事情。
1) 将扫描仪的值存储在
priceInput
变量中
2) 在while语句中使用它:
while(priceInput!=-1)

do/while
表单不一定是满足您需求的最佳表单。
你应该这样写:

double priceInput = -1;
do {
    priceInput = numberReader.nextDouble();
    if (priceInput != -1) {
        priceInputAnswer.add(priceInput);
    }
} while (priceInput != -1);
一个
while
,在之前检索到一个输入,因为它避免了循环中的
if
语句,所以看起来更自然:

double priceInput = numberReader.nextDouble();
while (priceInput != -1) {
    priceInputAnswer.add(priceInput);
    priceInput = numberReader.nextDouble();
}

priceInputAnswer
不是
int
;从逻辑上讲,你不会将列表与非列表进行比较。这是一个比较苹果和桔子的众所周知的例子。非常感谢您的迅速帮助。
priceInputAnswer
不是
int
;从逻辑上讲,你不会将列表与非列表进行比较。这是一个比较苹果和桔子的众所周知的例子。非常感谢你的迅速帮助。非常感谢你的迅速和最详细的帮助。特别是Java代码编写最佳实践的更精细之处。你的建议当然起到了作用,帮助我跨越了编译器的僵局。同时也使我能够更好地学习如何简化我的代码,正如我的教授所建议的那样。非常感谢您迅速而详细的帮助。特别是Java代码编写最佳实践的更精细之处。你的建议当然起到了作用,帮助我跨越了编译器的僵局。正如我的教授所建议的那样,这也让我能够更好地学习如何简化代码。