学点Java打小工——Day2Day3一点作业
1 猜数字(10次机会)
随机生成[1,1000]的一个数,输入你猜的数程序会给出反馈,直到猜对或次数用尽(10次)。
//猜数字 10次机会@Testpublic void guessNumber() {Random random = new Random();// [0, 1000) + 1// [1, 1000]int num = random.nextInt(1000) + 1;Scanner scanner = new Scanner(System.in);int cnt = 10;int num_guess;while (cnt > 0) {System.out.println("猜吧!请输入你猜的数字: ");num_guess = scanner.nextInt();System.out.println("你猜的数字是: " + num_guess);if (num_guess > num) {System.out.println("太大了");cnt--;} else if(num_guess < num) {System.out.println("太小了");cnt--;} else {System.out.println("恭喜你,猜对了");break;}}if (cnt == 0) {System.out.println("次数用尽,猜数失败");}}
2 打印99乘法表(双重循环)
双重for循环:
外层循环控制行数,数一下有几行就能确定外层循环。
内层循环控制列数,这一行打印多少个,到底要打印多少个要找出和当前行之间的一个关系。
//打印99乘法表@Testpublic void print99Table() {for (int i = 1; i <= 9; i++) {for (int j = 1; j <= i; j++) {System.out.print(j + "×" + i + "=" + (i * j));if(j != i) {System.out.print(" ");}}System.out.println();}}
做这个时候死去的上机题突然攻击我,控制了下每行最后一个空格不输出
3 判断闰年
也有收获,之前写的时候逻辑有一点点混乱,这次搞清楚本身其实可以拆成两个条件:
①能被4整除但不能被100整除
②能被400整除
有点数学容斥原理那味儿(死去的高中数学)
@Testpublic void judgeLeapYear() {System.out.println("请输入你要查询的年份: ");Scanner scanner = new Scanner(System.in);int year_in = scanner.nextInt();if ((year_in % 4 == 0 && year_in % 100 != 0) || (year_in % 400 == 0)) {System.out.println(year_in + "年是闰年");return true;} else {System.out.println(year_in + "年不是闰年");return false;}}
4 交换数字
老生常谈了
@Testpublic void exchangeNumber() {Scanner scanner = new Scanner(System.in);System.out.println("请输入第一个数: ");int num1 = scanner.nextInt();System.out.println("请输入第二个数: ");int num2 = scanner.nextInt();System.out.println("交换前: num1 = " + num1 + "\t" + "num2 = " + num2);int temp = num1;num1 = num2;num2 = temp;System.out.println("交换后: num1 = " + num1 + "\t" + "num2 = " + num2);}
嗯,老师还提了一嘴可以有很多方法,我确实只知道这一种。随便一搜确实有很多种
链接1
链接2
5 收银台
编写一个收银台收款程序:
定义输入----单价、数量、用户输入金额
定义输出----应收金额、找零
使用double类型变量 scanner.nextDouble();
当总价>=500时候打八折
考虑程序出现异常的情况,如:收款金额小于应收金额
若收款金额大于等于应收金额,则计算找零后输出
若收款金额小于应收金额,输出错误信息。
这个我写得还挺“长”的,主要是有些信息执行完在控制台不显示,我又加了打印
//收银台@Testpublic void recvMoney() {int cnt;double price, total, payment, change;Scanner scanner = new Scanner(System.in);System.out.print("请输入商品单价: ");price = scanner.nextDouble();System.out.println(price);System.out.print("请输入商品数量: ");cnt = scanner.nextInt();System.out.println(cnt);System.out.print("请付款: ");payment = scanner.nextDouble();System.out.println(payment);total = price * cnt;if (total >= 500) {System.out.println("商品总价超过500元, 给您打八折!");total *= 0.8;}if (payment < total) {System.out.println("对不起, 您的钱不够");} else {change = payment - total;System.out.println("找您" + String.format("%.2f", change));}}
6 打印直角三角形
输出以下结构:
1
12
123
1234
12345
//输出直角三角形数@Testpublic void printRightTriangle() {for (int i = 1; i <= 5; i++) {for (int j = 1; j <= i; j++) {System.out.print(j);}System.out.println();}}
7 打印正三角形/倒三角形


public void printEquilateralTriangle(int n) {int m;for (int i = 1; i <= n; i++) {for (int j = 1; j <= n - i; j++) {System.out.print(' ');}m = 2 * (i - 1) + 1;for (int j = 1; j <= m; j++) {System.out.print('*');}System.out.println();}}public void printInvertedTriangle(int n) {int m;for (int i = n; i >= 1; i--) {for (int j = 1; j <= n - i; j++) {System.out.print(' ');}m = 2 * (i - 1) + 1;for (int j = 1; j <= m; j++) {System.out.print('*');}System.out.println();}}//打印正三角/倒三角形@Testpublic void printTriangle() {Scanner scanner = new Scanner(System.in);System.out.print("请输入三角形阶数: ");int num = scanner.nextInt();System.out.println(num);System.out.print("请输入你要打印的三角形类型(1 正三角形; 2 倒三角形): ");int flag = scanner.nextInt();System.out.println(flag);int n = num;int m;if (flag == 1) {printEquilateralTriangle(n);} else if (flag == 2) {printInvertedTriangle(n);} else {System.out.println("非法输入 ");}}
分开写了两个方法然后调用,这样比较舒服
8 求奇数偶数和
计算1-100以内所有奇数的和以及所有偶数的和,分别打印出来
@Testpublic void printSum() {int sum_odd = 0;int sum_even = 0;for (int i = 1; i <= 100; i++) {if(i % 2 == 1) {sum_odd += i;}else {sum_even += i;}}System.out.println("sum_odd = " + sum_odd);System.out.println("sum_even = " + sum_even);}
9 输出数字
用for循环输出1—1000之间能被5整除的数,且每行输出3个
@Testpublic void printModFive() {int cnt = 0;for (int i = 1; i <= 1000; i++) {if(i % 5 == 0) {System.out.print(i);cnt++;if(cnt % 3 != 0) {System.out.print(' ');}else {cnt = 0;System.out.println();}}}}
10 计算阶乘
计算9的阶乘
@Testpublic void printFactorial() {int ans = 1;for(int i = 1; i <= 9; i++) {ans *= i;}System.out.println(ans);}
老师说还能用别的方法,我想到的是大数阶乘,那年暑假集训一道大数阶乘我做了一个晚自习。。。。
大数阶乘1
大数阶乘2
其实他想说的是递归啦,那其实没啥本质区别了,能做的数还是有限的,不过确实算个进阶写法。
后边再补吧,这周要叫开题报告、文献综述和外文翻译。想想就难受
相关文章:
学点Java打小工——Day2Day3一点作业
1 猜数字(10次机会) 随机生成[1,1000]的一个数,输入你猜的数程序会给出反馈,直到猜对或次数用尽(10次)。 //猜数字 10次机会Testpublic void guessNumber() {Random random new Random();// [0, 1000) 1// [1, 1000]int num ra…...
【话题】2024年AI辅助研发趋势,有那些应用领域
大家好,我是全栈小5,欢迎阅读文章! 此篇是【话题达人】系列文章,这一次的话题是《2024年AI辅助研发趋势》 目录 背景概念实践医药领域汽车设计领域展望未来文章推荐 背景 随着人工智能技术的持续发展与突破,2024年AI辅…...
蓝桥杯——数组切分
数组切分 题目分析 这里要搞清楚一个点就是满足区间内数字是连续数字的区间有什么样的特点,既然数字连续重新排列后的数字为n,n1,n2,n3,n4,…nlen,则最大数字和最小数字之差恰好是区间长度减1,即nlen-nlen,同样因为下标也是连续…...
【机器学习】进阶学习:详细解析Sklearn中的MinMaxScaler---原理、应用、源码与注意事项
【机器学习】进阶学习:详细解析Sklearn中的MinMaxScaler—原理、应用、源码与注意事项 这篇文章的质量分达到了97分,虽然满分是100分,但已经相当接近完美了。请您耐心阅读,我相信您一定能从中获得不少宝贵的收获和启发~ …...
数据库是什么?数据库连接、管理与分析工具推荐
一、数据库是什么? 数据库是一种结构化的数据存储系统,用于有效地组织、存储和管理大量的数据。它是一个集中化的数据存储库,通常由一个或多个数据表组成,每个数据表包含多个行和列,用于存储特定类型的数据。数据表中…...
【C#算法实现】可见的山峰对数量
文章目录 前言一、题目要求二、算法设计及代码实现2.1 算法思想2.2 代码实现 前言 本文是【程序员代码面试指南(第二版)学习笔记】C#版算法实现系列之一,用C#实现了《程序员代码面试指南》(第二版)栈和队列中的可见的…...
Selenium 隐藏浏览器指纹特征的几种方式
文章转载于:https://mp.weixin.qq.com/s/sXRXwMDqekUHfU2SnL-PYg 我们使用 Selenium 对网页进行爬虫时,如果不做任何处理直接进行爬取,会导致很多特征是暴露的 对一些做了反爬的网站,做了特征检测,用来阻止一些恶意爬虫…...
k8s发布nacos-server,nodeport配置注意事项
k8s发布nacos-server注册不上问题 问题描述:分析过程: 问题描述: k8s发布nacos-server做服务公用使用,nodeport暴漏服务给客户端注册, nacos:端口 8848:30601 9848:30701 分析过程:…...
伪分布式Spark集群搭建
一、软件环境 软 件 版 本 安 装 包 VMware虚拟机 16 VMware-workstation-full-16.2.2-19200509.exe SSH连接工具 FinalShell Linux OS CentOS7.5 CentOS-7.5-x86_64-DVD-1804.iso JDK 1.8 jdk-8u161-linux-x64.tar.gz Spark 3.2.1 spark-3.2.1-bin-…...
Android 监听卫星导航系统状态及卫星测量数据变化
源码 package com.android.circlescalebar;import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; import android.Manifest; import android.conte…...
鸿蒙培训开发:就业市场的新热点~
金三银四在即,随着春节假期结束,各行各业纷纷复工复产,2024年的春季招聘市场也迎来了火爆的局面。最近发布的《2024年春招市场行情周报(第一期)》显示,尽管整体就业市场仍处于人才饱和状态,但华…...
【C++】string的底层剖析以及模拟实现
一、字符串类的认识 C语言中,字符串是以\0结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数, 但是这些库函数与字符串是分离开的,不太符合OOP的思想,而且底层空间需要用户自己管理&a…...
Unity的PICO项目基础环境搭建笔记(调试与构建应用篇)
文章目录 前言一、为设备开启开发者模式1、开启PICO VR一体机。前往设置>通用>关于本机>软件版本号2、一直点击 软件版本号 ,直到出现 开发者 选项3、进入 开发者模式,打开 USB调试,选择 文件传输 二、实时预览应用场景1、下载PC端的…...
电脑远程桌面选项变成灰色没办法勾选怎么办?
有些人在使用Windows系统自带的远程桌面工具时,会发现系统属性远程桌面选项卡中勾选启用“允许远程连接到此计算机”。 导致此问题出现的原因主要是由于组策略或者注册表设置错误造成的。 修复远程桌面选项变灰的两种方法! 方法一:设置本地组…...
2024.3.14
1.成员函数版本实现算术运算符的重载,全局函数版本实现算术运算符的重载 #include <iostream>using namespace std;class Room {friend const Room operator-(const Room &a,const Room &b); private:string a;int b; public:Room(){}Room(string a,int b):a(a)…...
chatGPT的耳朵!OpenAI的开源语音识别AI:Whisper !
语音识别是通用人工智能的重要一环!可以说是AI的耳朵! 它可以让机器理解人类的语音,并将其转换为文本或其他形式的输出。 语音识别的应用场景非常广泛,比如智能助理、语音搜索、语音翻译、语音输入等等。 然而,语音…...
C语言冒泡排序
冒泡排序是一种简单的排序算法,通过重复遍历要排序的数列,依次比较两个相邻的元素,如果它们的顺序错误则交换它们。这个过程会重复进行,直到没有相邻的元素需要交换,也就是数列已经排序完成。 冒泡排序的名字来源于其工…...
vue2 elementui 封装一个动态表单复杂组件
封装一个动态表单组件在 Vue 2 和 Element UI 中需要考虑到表单字段的动态添加、删除以及验证等复杂功能。下面是一个简单的例子,展示如何创建一个可以动态添加和删除字段的表单组件。 首先,你需要安装并引入 Element UI: bash 复制 npm in…...
基于智慧灯杆的智慧城市解决方案(2)
功能规划 智慧照明功能 智慧路灯的基本功能仍然是道路照明, 因此对照明功能的智慧化提升是最基本的一项要求。 对道路照明管理进行智慧化提升, 实施智慧照明, 必然将成为智慧城市中道路照明发展的主要方向之一。 智慧照明是集计算机网络技术、 通信技术、 控制技术、 数据…...
「Paraverse平行云」亮相HKSTP OPENHOUSE活动
🚀11月7日,「Paraverse平行云」参展香港科学园HKSTP一年一度的Open House活动! ✨ 众多专家、同行与我们驻足深入交流,探索实时云渲染解决方案LarkXR在在数字人、数字孪生、建筑信息模型(BIM)、3D建模、建筑…...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...
微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...
Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
