【JavaSE】java刷题——基础语法熟练应用

这篇具有很好参考价值的文章主要介绍了【JavaSE】java刷题——基础语法熟练应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

通过本篇题目,可以让初学Java的小伙伴们更加熟练Java的基础语法~

java se基础语法小练习,java,开发语言

欢迎关注个人主页:逸狼


创造不易,可以点点赞吗~

如有错误,欢迎指出~



题1:数字9 出现的次数

 题述:编写程序数一下 1到 100 的所有整数中出现多少个数字9

思路

分两步

  1. 取个位上的9  有9 19 29……99 有10个
  2. 取十位上的9  有90 91 92 93……99 有10个

代码实现

public class test {
    //1~100数字9出现的个数
    public static int fan1(int n){
        int count=0;
        for (int i = 1; i <=100 ; i++) {
            if(i%10==9){//取个位上的9  有9 19 29……99 有10个
                count++;
            }
            if(i/10==9){//取十位上的9  有90 91 92 93……99 有10个
                count++;
            }
        }
        return count ;
    }

    public static void main(String[] args) {
        System.out.println(fan1(100));
    }

结果是20

题2:计算阶乘的和

题述:输入一个正整数,求它从1到该整数阶乘的和。如指定数字5,求1!+2!+……5!

思路

先实现一个数求阶乘的方法,再相加

代码实现

 //写一个函数求阶乘
    public static int fac(int n) {
        int ret = 1;
        for (int i = 1; i <= n; i++) {
            ret *= i;
        }
        return ret;
    }
        //此函数求阶乘的和
    public static int facSum(int n){
            int sum=0;
            for (int i = 1; i <=n ; i++) {
                sum+=fac(i);
            }
            return sum;//要记得要写返回值,漏了就会一直报错
        }

    public static void main(String[] args) {
        int n=facSum(5);
        System.out.println(n);
    }

结果是153

题3:求水仙花数

水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(,水仙花数是指一个 3 位数,它的每个数位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。

java se基础语法小练习,java,开发语言

思路

  1. 统计当前数字有几位数
  2. 取到数字的每一位上的数字
  3. 判断是否符合要求

例如 153(1^3 + 5^3+ 3^3 = 153)

步骤是先统计153有3位数字,再取到153每一位数字,最后判断1^3 + 5^3+ 3^3 = 153是否成立

代码实现

    public static void main(String[] args) {
        //求水仙花数
        for (int i = 0; i <= 999999; i++) {//遍历1~999999的数字
            //计算当前有几位数
            int count=0;
            int tmp=i;
            while(tmp!=0){
                count++;
                tmp/=10;
            }
            //求tmp的每一位
            tmp=i;
            int sum=0;
            while(tmp!=0){
                sum+=Math.pow(tmp%10,count);//计算tmp的count次方
                tmp/=10;
            }
            if(sum==i){
                System.out.println(i);
            }
        }
    }

结果中153 、370、371、407是水仙花数 

java se基础语法小练习,java,开发语言

题4:打印素数

打印1~100的素数

思路1

法一:写一个方法判断一个数字是否是素数,再遍历2~100,打印符合的数字

代码实现1

//判断一个数字是否是素数
    public static boolean is_prime(int n){
        for (int i = 2; i <n ; i++) {
            if(n%i==0){
                return false;
            }
        }
        return true;
    }
    public static void main(String[] args) {
        //打印1~100的素数
        for (int i = 2; i <=100 ; i++) {
            if(is_prime(i)){
                System.out.print(i+" ");
            }
        }
    }

思路2

法二:num=a*b 其中a和b两个必有一个 <= 根号num

代码实现2

 public static void main(String[] args) {
        //打印1~100的素数
        int num=100;
        for (int k = 1; k <= num; k++) {
            int i = 2;
            //跳出for循环时有两个结果
            for ( ; i <=Math.sqrt(k) ; i++) {//1.i>根号num
                if(k%i==0){//2.num被整除了
                    break;
                }
            }
            if(i>Math.sqrt(k)) {
                System.out.println(k+" ");
            }
    }

结果

java se基础语法小练习,java,开发语言

题5:猜数字游戏的实现

import java.util.Random;
import java.util.Scanner;

 public static void main(String[] args) {
        //java实现猜数字游戏
        int count=5;
        Scanner scan=new Scanner(System.in);
        Random random=new Random();
        int randNum=random.nextInt(100);//[0,100)
        //System.out.println("随机数是:"+randNum);用于测试时使用
        while(true){
            System.out.println("你还有"+count+"次机会!");
            System.out.println("请输入要猜的数字:");
            int num=scan.nextInt();
            if(num>randNum){
                System.out.println("猜大了!");
            }
            else if(num<randNum){
                System.out.println("猜小了!");
            }
            else{
                System.out.println("恭喜你,猜对了!数字是:"+randNum);
                break;
            }
            count--;
            if(count==0){
                System.out.println("很遗憾,挑战失败!数字是:"+randNum);
                break;
            }
        }
    }

结果

java se基础语法小练习,java,开发语言

题6:打印x形图案

思路

利用坐标关系i==j和i+j=n-1时打印*,其他情况打印空格

java se基础语法小练习,java,开发语言

代码实现

    //打印x形图案
    public static void printX(int n){
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                if(i==j||i+j==n-1){
                    System.out.print("*");
                }
                else{
                    System.out.print(" ");
                }
            }
            System.out.println();//换行
        }
    }
    public static void main(String[] args) {
        printX(5);
    }

结果

java se基础语法小练习,java,开发语言

题7:计算分数

代码实现


    //计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值
    public static void main(String[] args) {
        double ret=0;//注意这里要用double,不能用int
        int flag=1;
        for (int i = 1; i <=100;i++) {
            ret += 1.0 / (flag * i);
            flag=-flag;//用于改变i的符号
        }
        System.out.println(ret);
    }

结果 0.688172179310195

题8:模拟登陆

题述:编写代码模拟三次密码输入的场景。 最多能输入三次密码,密码正确,提示“登录成功”,密码错误, 可以重新输 入,最多输入三次。三次均错,则提示退出程序

代码实现


    public static void login(){
        int count=3;
        Scanner scan=new Scanner(System.in);
        String string="123456";
        while(count!=0){
            System.out.println("请输入密码:");
            String password= scan.nextLine();
            if(password.equals(string)){//匹配字符串用equals
                //登录成功
                System.out.println("登录成功!");
                break;
            }
            else{
                //登录失败
                count--;
                System.out.println("密码错误,你还有"+count+"次机会!");
            }
        }

    }
    public static void main(String[] args) {
        login();
    }

结果

java se基础语法小练习,java,开发语言文章来源地址https://www.toymoban.com/news/detail-854653.html

到了这里,关于【JavaSE】java刷题——基础语法熟练应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【JavaSE】Java基础语法(二十五):异常

    异常的概述 异常就是程序出现了不正常的情况 异常的体系结构 编译时异常 都是Exception类及其子类 必须显示处理,否则程序就会发生错误,无法通过编译 运行时异常 都是RuntimeException类及其子类 无需显示处理,也可以和编译时异常一样处理 图示 如果程序出现了问题,我们

    2024年02月06日
    浏览(47)
  • 【JavaSE】Java基础语法(三十一):可变参数

    可变参数介绍 可变参数又称参数个数可变,用作方法的形参出现,那么方法参数个数就是可变的了 方法的参数类型已经确定,个数不确定,我们可以使用可变参数 可变参数定义格式 可变参数的注意事项 这里的变量其实是一个数组 如果一个方法有多个参数,包含可变参数,可

    2024年02月08日
    浏览(56)
  • 【JavaSE】Java基础语法(二十一):内部类

    内部类概念 在一个类中定义一个类。举例:在一个类A的内部定义一个类B,类B就被称为内部类 内部类定义格式 格式举例: 内部类的访问特点 内部类可以直接访问外部类的成员,包括私有 外部类要访问内部类的成员,必须创建对象 示例代码: 成员内部类的定义位置 在类中

    2024年02月07日
    浏览(50)
  • 【JavaSE】Java基础语法(三十四):实现多线程

    是指从软件或者硬件上实现多个线程并发执行的技术。 具有多线程能力的计算机因有硬件支持而能够在同一时间执行多个线程,提升性能。 并行:在同一时刻,有多个指令在多个CPU上同时执行。 并发:在同一时刻,有多个指令在单个CPU上交替执行。 进程:是正在运行的程序

    2024年02月08日
    浏览(45)
  • 【JavaSE】Java基础语法(三十二):Stream流

    案例需求 按照下面的要求完成集合的创建和遍历 创建一个集合,存储多个字符串元素 把集合中所有以\\\"张\\\"开头的元素存储到一个新的集合 把\\\"张\\\"开头的集合中的长度为3的元素存储到一个新的集合 遍历上一步得到的集合 原始方式示例代码 使用Stream流示例代码 Stream流的好处

    2024年02月07日
    浏览(50)
  • 【JavaSE】Java基础语法(十三):Java 中的集合(十分全面)

    List (对付顺序的好帮⼿): 存储的元素是有序的、可重复的。 Set (注重独⼀⽆⼆的性质): 存储的元素是⽆序的、不可重复的。 Queue (实现排队功能的叫号机): 按特定的排队规则来确定先后顺序,存储的元素是有序的、可重复的。 Map (⽤ key 来搜索的专家): 使⽤键值对(key-value)存

    2024年02月10日
    浏览(42)
  • 【JavaSE】Java基础语法(三十三):File 一文详解

    File类介绍 它是文件和目录路径名的抽象表示 文件和目录是可以通过File封装成对象的 对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已.它可以是存在的,也 可以是不存在的.将来是要通过具体的操作把这个路径的内容转换为具体存在的 File类的构造方法

    2024年02月06日
    浏览(63)
  • 初始Java篇(JavaSE基础语法)(5)(类和对象(上))

    个人主页(找往期文章包括但不限于本期文章中不懂的知识点):我要学编程(ಥ_ಥ)-CSDN博客 目录 面向对象的初步认知 面向对象与面向过程的区别 类的定义和使用  类的定义格式 类的实例化 this引用 什么是this引用? this引用的特性 对象的构造及初始化 如何初始化对象(的

    2024年04月08日
    浏览(47)
  • 【JavaSE】Java基础语法(三十六):File & IO流

    java.io.File类是文件和目录路径名的抽象表示形式,主要用于文件和目录的创建、查找和删除等操作。 File:它是文件和目录路径名的抽象表示 文件和目录可以通过File封装成对象 File封装的对象仅仅是一个路径名。它可以是存在的,也可以是不存在的。 | 方法名 | 说明 | | —

    2024年02月07日
    浏览(43)
  • 初始Java篇(JavaSE基础语法)(6)(继承和多态)(上)

                                                            Java学习篇  个人主页(找往期文章包括但不限于本期文章中不懂的知识点):我要学编程(ಥ_ಥ)-CSDN博客 目录 继承篇  为什么需要继承? 继承概念 继承的语法 父类成员访问 super 子类

    2024年04月15日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包