首页 > 编程语言 >【参考答案】java基础练习:循环结构(while、do...while、for、break、continue、return直接跳出方法体)

【参考答案】java基础练习:循环结构(while、do...while、for、break、continue、return直接跳出方法体)

时间:2023-01-30 13:33:57浏览次数:52  
标签:do Scanner int System public while println 参考答案 out

while

 while实现:输出比i(i=5)小的正整数

package com.qzcsbj;

public class Test {
public static void main(String[] args) {
int i = 5;
while (--i>0){
System.out.println(i);
}
}
}

 

【参考答案】java基础练习:循环结构(while、do...while、for、break、continue、return直接跳出方法体)_java

 

 

求1到100之间所有偶数的和

package com.qzcsbj;

import java.util.Scanner;

/**
* @公众号 : 全栈测试笔记
* @描述 : <求1到100之间所有偶数的和>
*/
public class Test {
public static void main(String[] args) {
int total = 0;
int m = 1;
while(m <= 100){
if(m % 2 == 0){
total += m;
}
m++;
}
System.out.println(total);
}
}

 

【参考答案】java基础练习:循环结构(while、do...while、for、break、continue、return直接跳出方法体)_java_02

 

循环提示用户输入一个非零整数,直接输入数字0为止,然后输出其中的最大值和最小值

package com.qzcsbj;

import java.util.Scanner;

/**
* @描述 : <>
*/
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);

System.out.print("请输入非零整数(0表示结束):");
int n = input.nextInt();
int max = n, min = n;

while (n != 0) {
System.out.print("请输入非零整数(0表示结束):");
n = input.nextInt();
if(n!=0){
if (n > max) {
max = n;
}
if (n < min) {
min = n;
}
}
}

System.out.println("最大值:"+max);
System.out.println("最小值:"+min);
}
}

  

【参考答案】java基础练习:循环结构(while、do...while、for、break、continue、return直接跳出方法体)_System_03

 

从键盘读入个数不确定的整数,并判断读入的正数和负数的个数,输入为0时结束程序

package com.qzcsbj;

import java.util.Scanner;

/**
* @公众号 : 全栈测试笔记
* @描述 : <>
*/
public class Test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int x = 0;
int y = 0;

while(true){
System.out.print("请输入:");
int b = scanner.nextInt();
if(b > 0){
x++;
}else if(b < 0){
y++;
}else{
break;
}
}

System.out.println("正数: " + x);
System.out.println("负数: " + y);
}
}

  

【参考答案】java基础练习:循环结构(while、do...while、for、break、continue、return直接跳出方法体)_Test_04

 

 

如果输入的是整数,输出是偶数还是奇数,然后结束;如果输入的不是整数,提示用户重新输入,直到输入整数

package com.qzcsbj;

import java.util.Scanner;

/**
* @公众号 : 全栈测试笔记
* @描述 : <>
*/
public class Test {
public static void main(String[] args) {
while (true){
Scanner sc = new Scanner(System.in);
System.out.print("请输入整数:");
if (sc.hasNextInt()){
int num = sc.nextInt();
if (num%2==0){
System.out.println("你输入的是偶数");
}else{
System.out.println("你输入的是奇数");
}
break;
}else {
System.out.println("输入有误");
}
}
}
}

 

【参考答案】java基础练习:循环结构(while、do...while、for、break、continue、return直接跳出方法体)_System_05

 

do while

下面输出结果是?说明原因

package com.qzcsbj;

public class Test {
public static void main(String[] args) {
int i = 5;
do {
System.out.println(i);
i--;
}while (i>5);
}
}

 

【参考答案】java基础练习:循环结构(while、do...while、for、break、continue、return直接跳出方法体)_Test_06

先执行do里面的内容,再判断while里的条件

 

打印输出[0,200]之间所有能被7整除,但不能被4整除的所有整数,要求每行打印5个,并统计个数

package com.qzcsbj;

/**
* @公众号 : 全栈测试笔记
* @描述 : <>
*/
public class Test {
public static void main(String[] args) {
int i = 0;
int count = 0;
do {
if (i % 7 == 0 && i % 4 != 0) {
count++;
System.out.print(i + "\t");
if (count % 5 == 0) {
System.out.println();
}
}
i++;
} while (i <= 200);
System.out.println("\n总个数:" + count);
}
}

 

【参考答案】java基础练习:循环结构(while、do...while、for、break、continue、return直接跳出方法体)_System_07

 

 

for

求1到100之间所有偶数的和

package com.qzcsbj;

import java.util.Scanner;

/**
* @公众号 : 全栈测试笔记

* @描述 :
*/
public class Test {
public static void main(String[] args) {
int total = 0;
for(int m=1;m <= 100;m++){
if(m % 2 == 0){
total += m;
}
}
System.out.println(total);
}
}

【参考答案】java基础练习:循环结构(while、do...while、for、break、continue、return直接跳出方法体)_Test_08

 

 

循环输入五门课程的成绩,计算平均分

package com.qzcsbj;

import java.util.Scanner;

/**
* @公众号 : 全栈测试笔记
* @描述 : <>
*/
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int sum = 0;
for (int j = 1; j <= 5; j++) {
System.out.print("请输入第" + j + "门课程的成绩:");
int score = input.nextInt();
sum += score;
}
double avg = sum / 5.0;
System.out.println("平均分:" + avg);
}
}

 

【参考答案】java基础练习:循环结构(while、do...while、for、break、continue、return直接跳出方法体)_System_09

 

 

任意输入一个整数,根据这个值输出加法表

package com.qzcsbj;

import java.util.Scanner;

public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);

System.out.print("请输入任意一个整数:");
int num = input.nextInt();
for (int i = 0; i <= num; i++) {
System.out.println(i + "+" + (num - i) + "=" + num);
}
}
}

 

【参考答案】java基础练习:循环结构(while、do...while、for、break、continue、return直接跳出方法体)_java_10

 

打印 1-100000之间的所有素数,并统计耗时,如果耗时大于200ms,就需要优化

(素数: 有且仅有两个正约数的整数. 即 2 ~ i-1 之间没有一个是其约数) 

package com.qzcsbj;

/**
* @公众号 : 全栈测试笔记
* @描述 : <>
*/
public class Test {
public static void main(String[] args) {
boolean flag = true;
long begin = System.currentTimeMillis();
for(int i = 2; i <= 100000; i++){
flag = true;
for(int j = 2; j <= Math.sqrt(i); j++){
if(i % j == 0){
flag = false;
break;
}
}
if(flag){
System.out.println(i);
}
}
long end = System.currentTimeMillis();
System.out.println("time: " + (end - begin)); // 136
}
}

 

break

将1-10之间的整数相加,当累加值大于20时停止相加,输出当前整数和累加值

package com.qzcsbj;

import java.util.Scanner;

/**
* @公众号 : 全栈测试笔记
* @描述 : <>
*/
public class Test {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 10; i++) {
sum += i;
if (sum > 20) {
System.out.println("当前整数:" + i);
break;
}
}
System.out.println("累加值:" + sum);
}
}

 

【参考答案】java基础练习:循环结构(while、do...while、for、break、continue、return直接跳出方法体)_java_11

 

continue

输出1到10之间所有的奇数

package com.qzcsbj;

import java.util.Scanner;

/**
* @公众号 : 全栈测试笔记
* @描述 : <>
*/
public class Test {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
continue;
}
System.out.println(i);
}
}
}

 

【参考答案】java基础练习:循环结构(while、do...while、for、break、continue、return直接跳出方法体)_Test_12

 

return

下面输出结果是?

package com.qzcsbj;

import java.util.Scanner;

/**
* @公众号 : 全栈测试笔记

* @描述 : <>
*/
public class Test {
public static void main(String[] args) {
System.out.println(test());
test2();
}
public static int test(){
for (int i = 0; i < 5; i++) {
System.out.println(i);
if (i==1){
return i; // 跳出方法体
}
}
return 10;
}
public static void test2(){
for (int i = 0; i < 5; i++) {
System.out.println(i);
if (i==1){
return ;
}
}
System.out.println("hello");
return;
}
}

  

【参考答案】java基础练习:循环结构(while、do...while、for、break、continue、return直接跳出方法体)_java_13

 

双重for循环

实现输出九九乘法表

package com.qzcsbj;

import java.util.Scanner;

/**
* @公众号 : 全栈测试笔记

* @描述 : <>
*/
public class Test {
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j + "*" + i + "=" + i * j+" ");
}
System.out.println();
}
}
}

  

【参考答案】java基础练习:循环结构(while、do...while、for、break、continue、return直接跳出方法体)_java_14

 

 

某次技能大赛,共有3个班参加,每个班有4名学生参加,计算每个班级的平均分(只统计成绩≥80分的学生的平均分)

package com.qzcsbj;

import java.util.Scanner;

/**
* @公众号 : 全栈测试笔记

* @描述 : <>
*/
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);

for (int i = 1; i <= 3; i++) {
double sum = 0;
int count = 0;
for (int j = 1; j <= 4; j++) {
System.out.print("请输入第" + i + "个班级第" + j + "名学生的成绩:");
int score = input.nextInt();
if (score < 80) {
continue;
}
count++;
sum += score;
}
double avg = sum / count;
System.out.println("第" + i + "个班级的平均分为:" + avg);
}
}
}

 

【参考答案】java基础练习:循环结构(while、do...while、for、break、continue、return直接跳出方法体)_java_15

 

打印如下样式的直角三角形

思路:

第一种:递增加1
第二种:递增n*2-1
第三种:递减减1
第四种:递减n*2-1

 

实现 

package com.qzcsbj;

import java.util.Scanner;

public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入行数:");
int rows = input.nextInt();


for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
System.out.println();
}
System.out.println();


for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= i * 2 - 1; j++) {
System.out.print("*");
}
System.out.println();
}
System.out.println();


for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= rows - i + 1; j++) {
System.out.print("*");
}
System.out.println();
}
System.out.println();


for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= (rows - i + 1) * 2 - 1; j++) {
System.out.print("*");
}
System.out.println();
}
System.out.println();
}
}

 

【参考答案】java基础练习:循环结构(while、do...while、for、break、continue、return直接跳出方法体)_java_16

 

打印等腰三角形 

package com.qzcsbj;

import java.util.Scanner;

public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);

System.out.print("请输入行数:");
int rows = input.nextInt();

for(int i=1;i<=rows;i++){
for(int k=1;k<=rows-i;k++){
System.out.print(" ");
}

for (int j = 1; j <= i * 2 - 1; j++) {
System.out.print("*");
}
System.out.println();
}
}
}

 

【参考答案】java基础练习:循环结构(while、do...while、for、break、continue、return直接跳出方法体)_System_17

 

打印等边三角形

package com.qzcsbj;

import java.util.Scanner;

public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);

System.out.print("请输入行数:");
int rows = input.nextInt();

for(int i=1;i<=rows;i++){
for(int k=1;k<=rows-i;k++){
System.out.print(" ");
}
for (int j = 1; j <= i; j++) {
System.out.print("* ");
}
System.out.println();
}
}
}

 

【参考答案】java基础练习:循环结构(while、do...while、for、break、continue、return直接跳出方法体)_System_18

 

输入带*字符串,把*左移输出,其他字母按原顺序输出,例如输入“as*c*gkl**o*p*h*”,输出*******ascgkloph

 

package com.qzcsbj.demo;

import java.util.Arrays;
import java.util.Scanner;

/**
* @公众号 : 全栈测试笔记

* @描述 : <>
*/
public class Test {
public static void main(String[] args) {
System.out.print("请输入带*字符串:");
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
System.out.println("移动前:" + str);
char[] arr=str.toCharArray();
for (int i=0;i<arr.length-1;i++){
for (int j=1;j<=arr.length-1-i;j++){
if (arr[j]=='*' && arr[j-1]!='*'){
char temp = arr[j];
arr[j] = arr[j-1];
arr[j-1] = temp;
}
}
System.out.println("第"+ (i+1) +"轮冒泡:" + Arrays.toString(arr));
}
System.out.println(Arrays.toString(arr));
String s = "";
for (int i=0;i<arr.length;i++){
s+=arr[i];
}
System.out.println("移动后:" + s);
}
}

 

【参考答案】java基础练习:循环结构(while、do...while、for、break、continue、return直接跳出方法体)_java_19

 

 


__EOF__


本文作者:持之以恒(韧)




标签:do,Scanner,int,System,public,while,println,参考答案,out
From: https://blog.51cto.com/qzcsbj/6026254

相关文章

  • 【参考答案】java基础练习:选择结构(if、switch)
    if:if...else...及if嵌套提示用户输入三个整数,判断并输出最大值、最小值 packagecom.qzcsbj;importjava.util.Scanner;publicclassTest{publicstaticvoidmain(S......
  • 【参考答案】java基础练习:变量、数据类型、输入、输出、运算符
     练习1:判断输入的值是否是偶数,另外,要处理输入错误(目的:熟悉输入、输出,特别是Scanner对象的方法)packagecom.qzcsbj;importjava.util.Scanner;publicclassTest{publi......
  • Windows server 2012 安装ad域
    Windowsserver2012安装ad域 安装ad域(activedirectory)服务的作用:存储目录数据并管理域之间的通信,包括用户登录处理,身份验证和目录搜索等。 1.使用administrator......
  • 【6】Python3循环语句之while,for循环
    1.循环:有条件地重复地做一件事,每一次做的事情不同但类似在Python中,循环结构分为while和for两种。while判断条件:执行语句……执行语句可以是单个语句或语句块。判断......
  • Docker 容器添加自定义root ca
    比如如果我们基于了step-ca工具做为我们的ca机制,就会有不可信的问题,业务使用就特别不方便了,以下是一个参考配置实际上很简单就是使用update-ca-certificates更新信息参......
  • Docker第一章:Docker理念与安装配置
    什么是DockerDocker是基于Go语言实现的云开源项目,本身是一个容器运行载体或称之为管理引擎。Docker的主要目标是通过对应用组件的封装、分发、部署、运行等生命周期的管......
  • DOCKER 修改本地镜像里面的内容
    dockerps-a 获取容器的ID。dockercp49001ce7639b:/usr/share/grafana/public/img/grafana_icon.svg D:/grafana_icon.svgdockercp命令+容器编号+ :+容器......
  • 让Windows Server 2008r2 IIS7.5 ASP.NET 支持10万并发请求
    由于之前使用的是默认配置,服务器最多只能处理5000个同时请求,今天下午由于某种情况造成同时请求超过5000,从而出现了上面的错误。为了避免这样的错误,我们根据相关文档调整了......
  • docker mysql
    dockerpullmysqldockerrun-itd--namemysql-p3307:3306-eMYSQL_ROOT_PASSWORD=123456mysql--character-set-server=utf8mb4--collation-server=utf8......
  • 安卓端企业微信H5使用wx.closeWindow无效处理
    //兼容处理functioncloseWindow(){ if(document.addEventListener){  document.addEventListener(    "WeixinJSBridgeReady",    functio......