Java 如何检查int[]是否有特定的数字
当Java 如何检查int[]是否有特定的数字,java,arrays,loops,Java,Arrays,Loops,当int接收到一个负数时,我试图使代码进入break 这是我的密码: package merge.arrays; import java.util.ArrayList; import java.util.Scanner; public class MergeArrays { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>();
int
接收到一个负数时,我试图使代码进入break
这是我的密码:
package merge.arrays;
import java.util.ArrayList;
import java.util.Scanner;
public class MergeArrays {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
Scanner input = new Scanner(System.in);
System.out.println("Enter the value for the 1st array (0-10000), and enter a negative number to quit:");
int array1 = input.nextInt();
while (array1 >= -1) {
for (int i = 0; i < 10000; i++) {
array1 = array1 + input.nextInt();
if (array1 <= -1) {
break;
}
}
}
System.out.println("Enter the value for the 2nd array (0-10000), and enter a negative number to quit:");
int array2 = input.nextInt();
while (array2 >= -1) {
for (int i = 0; i < 10000; i++) {
array2 = array2 + input.nextInt();
if (array2 <= -1) {
break;
}
}
}
System.out.println("1st array:\n" + array1);
System.out.println("2nd arrat:\n" + array2);
}
}
package merge.array;
导入java.util.ArrayList;
导入java.util.Scanner;
公共类合并数组{
公共静态void main(字符串[]args){
ArrayList=新建ArrayList();
扫描仪输入=新扫描仪(System.in);
System.out.println(“输入第一个数组(0-10000)的值,然后输入要退出的负数:”;
int array1=input.nextInt();
而(数组1>=-1){
对于(int i=0;i<10000;i++){
array1=array1+input.nextInt();
如果(数组1=-1){
对于(int i=0;i<10000;i++){
array2=array2+input.nextInt();
如果(array2查看您的问题,则存在以下问题:
我不知道ArrayList的用途是什么,因为您没有在任何地方使用它
您的问题提到了数组int[],但您根本没有使用数组
您要求用户输入,然后在while循环中,您说的是while(array1>=-1)
,这与您的问题的目的相矛盾,即当提供负值时,您希望中断该问题
假设您的第一个输入不是负的,在循环中,当您从用户处获得输入时,您正在添加该输入的值,然后检查它是负的还是正的,而不是先检查输入,然后将其添加到上一个值
阅读您的问题,我了解到当您检测到输入为负值时,您希望停止向用户请求输入。如果这是目的,则您需要在代码中进行以下修改:
while (array1 >= 0){
for(int i = 0; i < 10000; i++){
//get user input in temp
int temp = input.nextInt();
if(temp < 0) {
//user provided negative value, so break from loop
break;
} else {
array1 = array1 + temp;
}
}
}
while(数组1>=0){
对于(int i=0;i<10000;i++){
//在temp中获取用户输入
int temp=input.nextInt();
如果(温度<0){
//用户提供了负值,所以从循环中中断
打破
}否则{
阵列1=阵列1+温度;
}
}
}
对这两个while循环进行上述更改,您应该都很好。您的代码:
int array1;
array1 = input.nextInt();
while (array1 >= -1) // why this outer loop
{
for(int i = 0; i < 10000; i++) {
array1 = array1 + input.nextInt(); //You are adding previous values with new values, how it will determine if entered a negative number.
if(array1 <= -1) {
break;
}
}
}
您已声明ArrayList但未使用它。您的意思是要检查int[]但是,您根本没有使用数组。如果在输入中发现负数,是否要停止向用户请求输入?命名变量array1
或array2
不会使其成为数组。主持人,您可以删除此项吗?反正我是问题的创建者。
int array1;
for(int I=0;i<10000;i++)
{
int temp = input.nextInt();
if(temp < 0)
{
break;
}
array1 = array1+temp;
}