学习Java:if-else和循环语句 练习案例

createh51个月前 (02-10)技术教程23

案例一:

  • 描述:
    从键盘上输入一个整数,判断该数是否是素数。(1不是素数,素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数)
  • 思路:
    定义一个for循环和辅助变量i,并给i赋初始值2,i的边界<=z,并且增量为1。第一步先在for循环中判断输入的整数z对i取余数,如果余数为0,则跳出循环。第二步判断循环结束时i与z的值是否相等,如果相等,则该数是素数,否则不是素数。
  • 代码:
import java.util.Scanner;
public class Wd {
    public static void main(String[] args){
        Scanner sc=new Scanner("System.in");
        System.out.println("请输入整数z:");
        int z=sc.nextInt();
        for(i=2;i<=z;i++)
        {
            if(z%i==0) break;//遇到整除就跳出循环
        }
        if(i==z)//判断跳出循环时候i的值时候和z相等,
        //相等说明不能被其他数整除,不相等说明在循环
        //过程中可以被除本身外的数整除
        {System.out.println(z+"是素数");}
        else{System.out.println(z+"不是素数");}
    }
}

运行结果:




案例二:

  • 描述:
    我国古代数学家张丘建在《算经》中出了一道题“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?”(假定每种鸡都必须至少有一只)
  • 思路:
    设鸡翁、鸡母、鸡雏分别为x,y,z只,分析题目可以知道(1)5x+3y+1/3z=100;(2)x<20,y<33(3)z=100-x-y;因此通过设置两个for循环实现,当满足条件5x+3*y+z/3==100时,输出可能的结果。
    代码:
import java.util.Scanner;
public class Wd {
    public static void main(String[] args){
        int x,y,z;
        for(x=0;x<20;x++)
        {   
            for(y==0;y<33;y++)
            {   
                z=100-x-y;
                if(5*x+3*y+z/3.0==100)
            System.out.println("鸡翁有"+x+"只鸡母有"+y+"只鸡雏有"+z+"只");
            }
        }
    }
}

运行结果:

案例3:

  • 描述
    编写程序实现系统产生0-50之间的随机数,用户通过键盘输入猜测随机数,并在每次输入后提示用户是否猜对,如果猜大了,会提示“抱歉!猜大了,请继续猜”,否则会提示“抱歉!猜小了,请继续猜,可以大一点哦”,直到完全猜对,会提示“你真厉害,猜对了,游戏结束”。
  • 提示:
    产生随机数需要导入:import java.util.Random;
    使用:Random rd = new Random();int i = rd.nextInt(50);
  • 思路
    设置两个变量i,j分别表示随机数和玩家输入的数。然后通过while循环中嵌套三个if-else语句实现对两个变量大小的比较。猜对后给a赋值1退出循环。
    代码
import java.util.Scanner;
import java.util.Random;
public class Wd {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        Random rd = new Random();
        int i = rd.nextInt(50);
        int j;
        int a=0;
        while(a=0)
        {
            System.out.println("请输入猜测数:");
            j=sc.nextInt();
            if(i>j){
            System.out.println("抱歉!猜小了,请继续猜,可以大一点哦");
            }
            else if(i

运行结果

案例4:

  • 描述
    打印金字塔(金字塔层数由键盘得到)
  • 思路
    设置一个外层循环和两个内层循环,内层循环中第一个for用来输出每一行前的空格,第i行有a-i个空格;第二个for用来输入
    ,第i行有2i-1个
    代码
import java.util.Scanner;
public class Wd {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入金字塔层数:");
        int n=sc.nextInt();
        for(int i=0;i

运行结果


————————————————

原文链接:
https://blog.csdn.net/SUZEHUI9636/article/details/115036415

相关文章

JAVA小白 编程练习500题 超详细!带答案!持续更新中

练习题:通过代码编写,输出一句话:“我要开始学习JAVA了,今天又是知识量满满的一天~”package cn.cxy.exec;public class TestPrint {public stati...

100个Java必备练习项目「附源码、文档」

需要的朋友可以下图自取:...

Java 基础编程训练_java编程技术基础测试题

//【例1】九九乘法表 public class MultiplicationTable { public static void main(String[] args) {...

JAVA入门第二季综合练习(直接思考敲的代码,面向过程,不好

JAVA入门第二季综合练习(直接思考敲的代码,面向过程,不好) package com.imocc; /* @author ndh 2016年3月27日 21:03:02 */ import j...

可用AI写Java程序,甲骨文推出Oracle Code Assist编程助理

IT之家 5 月 13 日消息,继微软、OpenAI、谷歌等厂商后,甲骨文加入了开发 AI 编程助理的阵营,该公司最近推出了名为 Oracle Code Assist 的工具,旨在帮助用户开发 Jav...

16个Java项目,助你成为Java高级开发工程师

作为程序员,简历上都有“项目实践”这一模块,而这对于刚刚打算踏入Java岗位的求职者来说,简直太难了。学习了三四个月,好不容易学会了语法和框架,到头却发现没有项目实践经验。但恰恰公司对于这个模块非常的...