Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.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,我正在尝试一项有关数组的任务:添加两个元素并检查总和是否小于或等于50。如果条件满足,则应断开 示例程序: public class HelloWorld { public static void main(String []args) { int[] nums = new int[2]; for (int i = 0; i < 100; i++) { nums[i] = i + 1;

我正在尝试一项有关数组的任务:添加两个元素并检查总和是否小于或等于50。如果条件满足,则应断开

示例程序:

public class HelloWorld {

     public static void main(String []args)
     {
         int[] nums = new int[2];

         for (int i = 0; i < 100; i++)
         {
             nums[i] = i + 1;
             System.out.println(i);
         }
         System.out.println(nums[1]);
         System.out.println(nums[2]);

         if  (nums[0]+nums[1]<=50)
         {
             System.out.printf("Sucessfully finished");
         }     
     }
}

我相信,循环还需要1个,来检查每个num[I]+num[I+1]。您也可以在一个for循环中完成,但为了清晰起见,代码尽量简单。(因为您是java编程新手;)

公共类HelloWorld{
公共静态void main(字符串[]args){
int[]nums=新的int[100];
对于(int i=0;i<100;i++){
nums[i]=i+1;
系统输出打印LN(i);
}
对于(int i=0;i<99;i++){
System.out.println(nums[i]);
System.out.println(nums[i+1]);
如果(nums[i]+nums[i+1]==50){
System.out.printf(“成功完成”);
}
}
}
}

我不确定这是不是你的意思。试试看

public static void main(String[]    args) {
    int[] nums = new int[100];
    nums[0] =1;
    for (int i = 1; i < 100; i++) {
        nums[i] = i + 1;
        if ((nums[i] +nums[i-1]) >= 50) {
             System.out.printf("Successfully finished");
        } 
    }
  }
publicstaticvoidmain(字符串[]args){
int[]nums=新的int[100];
nums[0]=1;
对于(int i=1;i<100;i++){
nums[i]=i+1;
如果((nums[i]+nums[i-1])>=50){
System.out.printf(“成功完成”);
} 
}
}

我不完全确定你的最终目标是什么。如果您只想添加两个数字(i和i+1)并查看它们是否小于50,则可以使用此选项

for (int i =0; i < 100; i++) {
    int j = i+1;
    int total = i+j;
    if((i+(i+1)) < 50) {
        System.out.println("Numbers '" + i + "' and '" + j + "' equal '" + total + "'.");
    }
}
for(int i=0;i<100;i++){
int j=i+1;
int-total=i+j;
如果((i+(i+1))<50){
System.out.println(“数字”'+i+“'和'+j+“'equal'+total+”);
}
}
这将打印出所有加起来小于50的数字对以及它们加起来的数字


我承认你可能想要更多的东西。:)

有很多方法可以做到这一点,但这里有一个巧妙的技巧可以解决这类问题

int[] nums = new int[2];

for (int i = 0; i < 100; i++) {
    nums[i % nums.length] = i + 1;

    if (nums[0] + nums[1] <= 50) {
        System.out.println("sum is less than or equal to 50");
        break;
    }
}
作为另一种解决方案,可以将该结果缩短为以下while循环:

int i = 0;

// note sum of two consecutive integers will never be even (never 50)
while (i + ++i < 50);

System.out.println("min increments with sum > 50 was " + (i - 1) + " and " + i);
inti=0;
//注:两个连续整数之和永远不会是偶数(永远不会是50)
而(i+++i<50);
System.out.println(“总和大于50的最小增量为“+(i-1)+”和“+i”);

输出是
min增量,sum>50是25和26

我尝试了两个循环。。正如你上面提到的。。但我想把它做成一个循环。。。这就是我2天来一直在尝试的,我想OP只是想要
nums
有两个元素,在循环中,将
i
分配给一个元素,将
i+1
分配给另一个元素,然后检查总和是否小于50。(而不是用100个元素填充
nums
,然后检查这些元素,这就是您的代码所做的。)进一步挑剔。两个连续整数之和永远不会等于50,因此永远不会满足测试条件。最接近的是
24+25==49
,然后是
25+26==51
重要提示:
=
表示大于或等于。在你的if语句中,你有“(nums[1]+nums[2]@TikkaBhuna,我现在更改了它。别忘了这两个系统。out.println()语句也有。:)我想你的逻辑倒了。
nums[0]=1;nums[1] =2;检查头部快照..代码运行正常,您的解释很好,感谢您的讲解如何检查nums[0]和nums[1]中的值…bcoz我得到1,0不确定“检查值”是什么意思?在循环的第一次迭代中,它们将(正确)为1和0。
int[] nums = new int[2];

for (int i = 0; i < 100; i++) {
    nums[i % nums.length] = i + 1;

    if (nums[0] + nums[1] <= 50) {
        System.out.println("sum is less than or equal to 50");
        break;
    }
}
int[] nums = new int[2];

for (int i = 0; i < 100; i++) {
    nums[i % nums.length] = i + 1;

    if (nums[0] + nums[1] > 50) {
        System.out.println("sum was NOT less than or equal to 50");
        break;
    }
}
int i = 0;

// note sum of two consecutive integers will never be even (never 50)
while (i + ++i < 50);

System.out.println("min increments with sum > 50 was " + (i - 1) + " and " + i);