任务描述
本关任务:使用 Scanner 对象接收一组数据,每组数据包含 4 个整数,其中有正有负,比如:22 33 -22 32。请使用 while 循环求出每组数据的非负数之和(每组数据之间用空格分开,而组与组之间用换行符分开)。
相关知识
当我们想要对同样的操作执行多次,就需要使用到循环结构,在 Java 中循环结构主要分为三种:
while 循环;
do...while 循环;
for 循环。
今天我们来学习第一种循环结构 —— while 循环。
while 循环
首先我们来了解一下 while 循环的逻辑:
如上图所示,while 循环首先会判断 while 后面的条件是否成立,成立的话执行一次循环体语句序列,执行完成后,继续返回判断条件是否成立,如此反复,直到循环条件不成立,退出循环,它的语法格式如下所示:
while( 循环条件表达式 ) {
循环体语句序列;
}
while 循环使用案例:循环打印”好好学习,天天向上“ n 次。
public class Demo {
public static void main(String[] args) {
// 定义整数变量i
int i=0;
// 创建Scanner对象
Scanner input = new Scanner(System.in);
// 获取输入的整数值
int n = input.nextInt();
// 只要i小于n,便一直执行循环体中的代码
while (i<n){
// 循环体代码
System.out.println("好好学习,天天向上");
i++;// i的值加1
}
// 循环结束,注意此处不是println
System.out.print("循环结束");
}
}
当 Scanner 对象接收的整数值为 5 时,输出结果如下:
好好学习,天天向上
好好学习,天天向上
好好学习,天天向上
好好学习,天天向上
好好学习,天天向上
循环结束
++自增运算符
在以上案例中,我们使用 i++ 对变量 i 的值进行加 1 操作,这里的 ++ 在 Java 中叫做自增运算符,++ 可以置于变量后(i++),也可以置于变量前(++i),置于变量后表示先使用 i,再对 i 的值加 1,置于变量前表示先对 i 的值加 1,然后再使用 i。
我们可以通过如下代码体现他们的区别:
public class Demo {
public static void main(String[] args) {
int i=0; // 定义整数变量i
int z=0; // 定义整数变量z
// 输出i的值
System.out.println(++i); // 使用i之前加1,所以这里输出值为1
System.out.println(i);
// 输出z的值
System.out.println(z++); // 使用z之后加1,所以这里输出值为0
System.out.print(z);
}}
控制台输出结果:
1
1
0
1
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。
测试说明
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。
可在右侧 “测试结果”区查看具体的测试集详情。
开始你的任务吧,祝你成功!
/*
任务:使用while循环结合自增运算符获取控制台的一组输入(每组输入包含4个整数,其中有正有负,比如:22 33 -22 32),请求出每组输入的非负数之和
*/
import java.util.Scanner;
public class MyWhile {
public static void main(String[] args) {
// 定义变量sum,用于求非负数的和,并赋初值0。
int sum=0;
// 定义变量i,用于控制循环,并赋初值1。
int i=1;
// 定义Scanner对象
Scanner input = new Scanner(System.in);
// 请在 Begin-End 间编写代码
/********** Begin **********/
// 第一步:定义while循环,循环4次
while (i <= 4) {
// 第二步:获取输入值
int num = input.nextInt();
// 第三步:判断输入值是否大于0,对大于0的值累加
if (num >= 0) {
sum += num;
}
// 第四步:while循环中的变量加1
i++;
}
// 第五步:打印sum值
System.out.println(sum);
/********** End **********/
}
}
标签:之求,Java,Scanner,++,System,while,循环,变量
From: https://blog.csdn.net/2301_76650327/article/details/144408202