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

前言

通过本篇题目,可以让初学Java的小伙伴们更加熟练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。

思路

  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是水仙花数 

题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+" ");
            }
    }

结果

题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;
            }
        }
    }

结果

题6:打印x形图案

思路

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

代码实现

    //打印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);
    }

结果

题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();
    }

结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/499384.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

四平方和定理

四平方和定理&#xff1a;任意一个正整数都可以被表示为至多四个正整数的平方和。 更强的结论&#xff1a;当且仅当时&#xff0c;n可以被表示为至多三个正整数的平方和&#xff0c;因此&#xff0c;当时&#xff0c;n只能被表示为四个正整数的平方和。 如果 &#xff0c;这个时…

Leetcode - 周赛390

目录 一&#xff0c;3090. 每个字符最多出现两次的最长子字符串 二&#xff0c;3091. 执行操作使数据元素之和大于等于 K 三&#xff0c;3092. 最高频率的 ID 四&#xff0c;3093. 最长公共后缀查询 一&#xff0c;3090. 每个字符最多出现两次的最长子字符串 本题是一道标准…

JavaEE企业开发新技术4

2.16 模拟Spring IOC容器功能-1 2.17 模拟Spring IOC容器功能-2 什么是IOC&#xff1f; 控制反转&#xff0c;把对象创建和对象之间的调用过程交给Spring框架进行管理使用IOC的目的&#xff1a;为了耦合度降低 解释&#xff1a; 模仿 IOC容器的功能&#xff0c;我们利用 Map…

LeetCode 206.反转链表

给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1] 示例 2&#xff1a; 输入&#xff1a;head [1,2] 输出&#xff1a;[2,1] 示例 3&#xff1a; …

这款基于Vue的大数据可视化平台,你绝对值得拥有

这款基于Vue的大数据可视化平台&#xff0c;你绝对值得拥有 一、项目介绍二、相关技术栈三、运行步骤四、项目演示五、总结 大家好&#xff0c;这里是程序猿代码之路。今天主要给大家介绍一款基于Vue的可视化数据大屏。在数字化转型的浪潮中&#xff0c;大数据的可视化展示变得…

【Win】使用PowerShell和Webhooks轻松发送消息至Microsoft Teams

Microsoft Teams是一款由微软开发的团队协作和通讯工具。如果您对这个名字还不太熟悉&#xff0c;那么现在就是一个了解它的好时机。微软将Teams定位为其之前Skype for Business解决方案的继任者&#xff0c;并且它也提供了与其他基于频道的通讯应用程序&#xff08;例如Slack、…

关于Devc++调试的问题以及解决STL变量无法查看

目前Devc的调试主要有以下几点&#xff1a; 1.调试不能直接查看stl变量&#xff0c;会卡死不动 2.目前单步进入只能用鼠标键按 3.若想按下一步进入函数体内&#xff0c;要在函数体内打上断点才行 4.调试到return 0 ;上一句就停了&#xff0c;不会结束程序 5.目前F2跳至断点…

30-3 越权漏洞 - 水平越权(横向越权)

环境准备:构建完善的安全渗透测试环境:推荐工具、资源和下载链接_渗透测试靶机下载-CSDN博客 一、定义 攻击者可以访问和操作与其拥有同级权限的用户资源。 示例: 学生A在教务系统上正常只能修改自己的作业内容,但由于不合理的权限校验规则等原因,学生A可以修改学生B的内…

文件夹中的文件如何全部加密

数字化时代&#xff0c;信息安全已成为我们日常生活中不可或缺的一部分。 而数据泄露和非法访问的风险却日益增加。 对于个人和企业而言&#xff0c;如何保护文件夹中的文件安全&#xff0c;防止数据被非法获取或篡改&#xff0c;是企业必须要重视的问题。 文件进行加密是一项…

【考研数学】听完课,汤家凤《1800题》基础练习都做不动?!

入门题基本都会&#xff0c;说明知识点学的没问题 但是一到基础就歇菜&#xff0c;说明题目综合度以上来&#xff0c;就没有思路&#xff0c;做不出来。 这种问题我在考研初期也遇到过&#xff0c;不要慌&#xff0c;这些都能够通过后期的练习弥补上来。 学习的过程其实很奇…

on-my-zsh 命令自动补全插件 zsh-autosuggestions 安装和配置

首先 Oh My Zsh 是什么? Oh My Zsh 是一款社区驱动的命令行工具&#xff0c;正如它的主页上说的&#xff0c;Oh My Zsh 是一种生活方式。它基于 zsh 命令行&#xff0c;提供了主题配置&#xff0c;插件机制&#xff0c;已经内置的便捷操作。给我们一种全新的方式使用命令行。…

.msi文件的安装

这里写目录标题 1.winR--》services.msc2.启动Windows Installer3.winR --》cmd4.输入命令&#xff0c;安装 1.winR–》services.msc 2.启动Windows Installer 3.winR --》cmd 4.输入命令&#xff0c;安装 msiexec/package 文件路径文件名 package和文件路径之间有个空格&#…

Unity颗粒血条的实现(原创,参考用)

1.创建3个静态物体摆好位置&#xff0c;并将其图层设为UI 2.编写一个脚本 using System.Collections; using System.Collections.Generic; using UnityEngine;public class xt : MonoBehaviour {public GameObject xt1;public GameObject xt2;public GameObject xt3;int x 1;…

scGRN:人与鼠的GRN平台

基因调控网络GRN是包含转录因子TFs与其下游靶基因之间的调控相互作用的可解释图模型。了解GRN的拓扑结构和动力学是解释疾病病因机制和将相应发现转化为新疗法的基础。单细胞多组学技术的最新进展促使从单细胞转录组学和表观基因组学数据中以前所未有的分辨率推断GRN。在这里&a…

T31ZC 君正T31 快启简化版 QFN封装

T31智能视频处理器凝聚了君正多项技术精华&#xff0c;继承了丰富的视频应用经验&#xff0c;拥有较强的CPU计算性能&#xff0c; 专业的成像能力&#xff0c;优秀的编码品质&#xff0c;丰富的差异化扩展&#xff0c;良好的成本控制和低功耗基因&#xff0c;搭配整合好的丰 富…

离线Linux/openEuler服务器指定本地yum仓库

1、前提准备一个预装坏境比较完整的linux镜像文件&#xff0c;本文服务器使用的是openEuler 官网&#xff1a;openEuler下载 | 欧拉系统ISO镜像 | openEuler社区官网 2、上传镜像文件至服务器 如果是集群服务器&#xff0c;上传其中一台服务器之后&#xff0c;使用scp指令将镜…

uniapp开发App——登陆流程 判断是否登陆,是,进入首页,否,跳转到登录页

一、登陆流程 文字描述&#xff1a;用户进入App&#xff0c;之后就是判断该App是否有用户登陆过&#xff0c;如果有&#xff0c;直接进入首页&#xff0c;否则跳转到登陆页&#xff0c;登陆成功后&#xff0c;进入首页。 流程图如下&#xff1a; 二、在uniapp项目中代码实现 实…

海外媒体发稿:3种媒体宣发套餐内容推广方法

现如今&#xff0c;伴随着信息技术的不断进步和推广&#xff0c;新闻媒体宣发变成企业品牌推广的重要手段之一。为了方便让新闻信息新闻资讯传递给目标群体&#xff0c;公司一般会选择不同的套餐内容和推广方法。下面我们就详细介绍3种新闻资讯新闻媒体宣发套餐内容推广方法。 …

【八大排序】一篇文章搞定所有排序

文章目录 1.排序的概念2.常见排序算法的实现2.1 插入排序2.1.1直接插入排序2.1.2希尔排序 2.2选择排序2.2.1直接选择排序:2.2.2堆排序 2.3交换排序2.3.1冒泡排序2.3.2快速排序Hoare法前后指针法挖坑法非递归版本 2.4归并排序递归版本非递归版本 2.5计数排序3.排序的比较 1.排序…

软件测试基础理论、测试用例及设计方法、易混淆概念总结【软件测试】

一.软件测试基础理论 1.软件定义 软件是计算机系统中与硬件相互依存的一部分&#xff0c;包括程序、数据以及与其相关文档 的完整集合。 程序是按事先设计的功能和性能要求执行的指令序列&#xff1b; 数据是使程序能正常操作信息的数据结构&#xff1b; 文档是与程序开发、维…