Java实验一 Java语言基础(12题)

文章目录:

1、我国历法中的天干、地支和生肖的排列是有规律的。天干的顺序是“甲乙丙丁戊己庚辛壬癸”,地支的顺序是“子丑寅卯辰巳午未申酉戌亥”,生肖的顺序是“鼠牛虎兔龙蛇马羊猴鸡狗猪”。天干、地支、生肖的计算方法非常简单:将年份减去3后除以10得到余数是几,就对应于天干中的第几位;将年份减去3后除以12得到余数是几,则对应于地支中的第几位;生肖的计算方法和地支完全一致。例如,对2006年而言,将数字2006减去3后是2003,除以10后的余数是3,对应于天干中的第三位“丙”;将2003除以12的余数是11,所以对应地支中的倒数第二位“戌”。由此可知,2006年是“丙戌”年,生肖是“狗”。根据以上思路,用Java写一个程序。程序提供一个声明形式为“public void getInfo(int year)”的方法,此方法接收一个int类型的代表年份的数字,然后计算并打印出相关信息

2、1980年,我国制定了“信息交换汉字编码字符集及其交换码标准GB2312—1980”。GB2312将汉字表分为94个区,每个区94个位,这种编码称为区位码。GB2312收录的汉字分成两级:第一级是常用汉字,共3755个,置于16~55区;第二级是次常用汉字,共3008个,置于56~87区。一、二级的所有汉字从16区~87区,总共有72个区。每个区可编码94个汉字,故72个区理论上能编码的汉字总量是72×94=6768个。但因为一级汉字的编码到5589截止,5590、5591、5592、5593、5594这5个编码没有使用,所以72个区实际编码的汉字总数是72×94-5=6763个

3、报数游戏。A、B、C、D、E、F、G、H共8人站成一排,按图2.3所示的方法从1开始报数。编写一个Java程序,找出谁先报到19 431 0057?

4、用迭代法求正数n的平方根x,a由命令行参数给出。求平方根的迭代公式为xn+1=0.5×(xn+a/xn),要求前后两次求出的x的差的绝对值小于10-5。 x的迭代初始值为a/2

5、两个羽毛球队进行比赛,各出3人。甲队为A、B、C 3人,乙队为x、y、z 3人。已抽签决定比赛名单。有人向队员打听比赛的名单。A说他不和x比,C说他不和x、z比。请编写一个Java程序找出3对赛手的名单

6、奇妙的算式。有人用字母代替十进制数字写出下面的算式。请编写一个Java程序,找出这些字母代表的数字

7、猴子吃桃问题。一天,一只小猴子摘下一堆桃子,当即吃去一半,还觉得不过瘾,又多吃了一个。第二天接着吃了前一天剩下的一半,馋不忍罢又多吃了一个。以后每天如此。到第10天小猴子去吃时,只剩下一个桃子了。问小猴子共摘了多少个桃子?

8、编写并测试以下递归方法,递归公式为

9、某火车站规定:在旅游旺季7~9月份,如果订票20张及其以上者,优惠票价的10%;20张以下,优惠5%;在旅游淡季1~6月份、10~12月份,订票20张及其以上者,优惠20%,20张以下,优惠10%。编写一个Java程序能够根据月份和旅客订票张数决定优惠率

10、编写一Java程序,计算cosx=1-+- +…,精确到第n项,误差小于0.000 1,x的值由键盘输入

11、编写一个通用方法,在给出的一维数组中查找一个数,找到时输出已找到某数,未找到时输出未找到某数

12、定义一个4行4列的double型二维数组。创建一个方法显示数组并计算任意给定的行、给定的列、主对角线和副对角线的和以及数组中的最大值


1、我国历法中的天干、地支和生肖的排列是有规律的。天干的顺序是“甲乙丙丁戊己庚辛壬癸”,地支的顺序是“子丑寅卯辰巳午未申酉戌亥”,生肖的顺序是“鼠牛虎兔龙蛇马羊猴鸡狗猪”。天干、地支、生肖的计算方法非常简单:将年份减去3后除以10得到余数是几,就对应于天干中的第几位;将年份减去3后除以12得到余数是几,则对应于地支中的第几位;生肖的计算方法和地支完全一致。例如,对2006年而言,将数字2006减去3后是2003,除以10后的余数是3,对应于天干中的第三位“丙”;将2003除以12的余数是11,所以对应地支中的倒数第二位“戌”。由此可知,2006年是“丙戌”年,生肖是“狗”。根据以上思路,用Java写一个程序。程序提供一个声明形式为“public void getInfo(int year)”的方法,此方法接收一个int类型的代表年份的数字,然后计算并打印出相关信息

package com;import java.util.Scanner;public class day1
{public static void main(String[] args){char []天干 = {'甲','乙','丙','丁','戊','己','庚','辛','壬','癸'};char []地支 = {'子','丑','寅','卯','辰','巳','午','未','申','酉','戌','亥'};char []生肖 = {'鼠','牛','虎','兔','龙','蛇','马','羊','猴','鸡','狗','猪'};int year;Scanner scanner = new Scanner(System.in);System.out.print("请输入年份:");year = scanner.nextInt();System.out.println("你输入的年份为:"+year);System.out.println("当年的天干地支为:"+天干[((year-3)%10)-1]+地支[((year-3)%12)-1]);System.out.println("当年所对应的生肖为:"+生肖[((year-3)%12)-1]);}}

2、1980年,我国制定了“信息交换汉字编码字符集及其交换码标准GB2312—1980”。GB2312将汉字表分为94个区,每个区94个位,这种编码称为区位码。GB2312收录的汉字分成两级:第一级是常用汉字,共3755个,置于16~55区;第二级是次常用汉字,共3008个,置于56~87区。一、二级的所有汉字从16区~87区,总共有72个区。每个区可编码94个汉字,故72个区理论上能编码的汉字总量是72×94=6768个。但因为一级汉字的编码到5589截止,5590、5591、5592、5593、5594这5个编码没有使用,所以72个区实际编码的汉字总数是72×94-5=6763个

  编写程序,实现的功能是:将所有的一级汉字的区位码打印来,并在区位码后面跟上其汉字本身。每打印8个汉字的相关信息后换行。

  操作提示:使用for循环嵌套,外层循环从16~55,内层循环从l~94。注意在适当时使用break退出循环。定义一个拥有两个元素的byte类型数组,将区码加上十进制数160并赋给数组下标为0的元素;将位码加上十进制数160并赋给数组下标为1的元素。赋值时注意类型的强制转换。当byte数组的两个元素都取得值后,使用java.1ang.String类的“public String(byte[]bytes)”构造形式即可得到一个特定汉字。

package com;import java.util.Scanner;
import java.lang.String;
public class day1
{public static void main(String[] args){int k=0;byte bytes[]=new byte[2];//定义一个拥有两个元素的byte类型数组String word="";for (int i=16;i<=55;i++){for (int j=1;j<=94;j++){//将区码加上十进制数160并赋给数组下标为0的元素bytes[0]=(byte)(i+160);//将位码加上十进制数160并赋给数组下标为1的元素bytes[1]=(byte)(j+160);word=new String(bytes);//赋值时注意类型的强制转换System.out.print(i+""+String.format("%02d",j));//当byte数组的两个元素都取得值后System.out.print(word);//5590、5591、5592、5593、5594这5个编码没有使用if (i==55 && j>=89){break;}k++;if (k%10==0){System.out.println();}}}}}

3、报数游戏。A、B、C、D、E、F、G、H共8人站成一排,按图2.3所示的方法从1开始报数。编写一个Java程序,找出谁先报到19 431 0057?

package com;import java.util.Scanner;
import java.lang.String;
public class day1
{public static void main(String[] args){char []AH={'A','B','C','D','E','F','G','H'};Scanner scanner = new Scanner(System.in);System.out.print("请输入一个数:");int sc = scanner.nextInt();int a = sc/7;int b = sc%7;if (a%2==0){System.out.println("现报道的是:"+AH[b-1]);}else {System.out.println("现报道的是:"+AH[8-b]);}}}

4、用迭代法求正数n的平方根x,a由命令行参数给出。求平方根的迭代公式为xn+1=0.5×(xn+a/xn),要求前后两次求出的x的差的绝对值小于10-5。 x的迭代初始值为a/2

package com;import java.util.Scanner;
import java.lang.String;
public class day1
{public static void main(String[] args){double sum;Scanner scanner = new Scanner(System.in);System.out.print("请输入a的值:");double a = scanner.nextDouble();double x=a/2,h1=0,h2=0;do{h1=0.5*(x+a/x);x=h1;h2=0.5*(x+a/x);x=h2;sum=Math.abs(h1-h2);}while (sum>0.000001);System.out.println("h1:"+h1+"     "+"h2:"+h2);System.out.println("差值k="+sum);}}

5、两个羽毛球队进行比赛,各出3人。甲队为A、B、C 3人,乙队为x、y、z 3人。已抽签决定比赛名单。有人向队员打听比赛的名单。A说他不和x比,C说他不和x、z比。请编写一个Java程序找出3对赛手的名单

package com;import java.util.Scanner;
import java.lang.String;
// A!=X  C!=X C!Z  找出3对赛手的名单
//C-Y  A-Z B-X
public class day1
{public static void main(String[] args){char i,j,k;for (i='x';i<='z';i++){for (j='x';j<='z';j++){if (i!=j){for (k='x';k<='z';k++){if (i!=k && j!=k){if (i!='x' && k!='x' && k!='z'){System.out.println("A--"+i+"\n"+"B--"+j+"\n"+"C--"+k);}}}}}}/* char []ch1={'A','B','C'};char []ch2={'x','y','z'};*//*A与x[舍] A与zB与x B与y[舍]  B与z[舍]C与y*//*for (int i=0;i<=2;i++){for (int j=0;j<=2;j++){if ((i==0 && j==1) || (i==2&&j==0) || (i==2&&j==2)){}else{System.out.println(ch1[i]+"与"+ch2[j]);}}}*/}}

6、奇妙的算式。有人用字母代替十进制数字写出下面的算式。请编写一个Java程序,找出这些字母代表的数字

提示:每个字母代表值为0, 1, 2, 3, 4, 5, …, 9中的一个。使用四重穷举。

package com;import java.util.Scanner;
import java.lang.String;
public class day1
{public static void main(String[] args){int []A={0,1,2,3,4,5,6,7,8,9};int []E={0,1,2,3,4,5,6,7,8,9};int []G={0,1,2,3,4,5,6,7,8,9};int []L={0,1,2,3,4,5,6,7,8,9};int count=0;for (int e=0;e<E.length;e++){for (int g=0;g<G.length;g++){for (int a=0;a<A.length;a++){for (int l=0;l<L.length;l++){int x1=E[e]*1000;int x2=G[g]*100;int x3=A[a]*10;int x4=L[l]*1;int sum=x1+x2+x3+x4;int y1=L[l]*1000;int y2=G[g]*100;int y3=A[a]*10;int y4=E[e]*1;int end=y1+y2+y3+y4;if (end==sum*L[l]){System.out.print(E[e]+""+G[g]+""+A[a]+""+L[l]+"\t");count++;if (count%17==0) System.out.println();}}}}}}}

7、猴子吃桃问题。一天,一只小猴子摘下一堆桃子,当即吃去一半,还觉得不过瘾,又多吃了一个。第二天接着吃了前一天剩下的一半,馋不忍罢又多吃了一个。以后每天如此。到第10天小猴子去吃时,只剩下一个桃子了。问小猴子共摘了多少个桃子?

package com;import java.util.Scanner;
import java.lang.String;
public class day1
{public static void main(String[] args){int count=1;System.out.print("每一天的桃子数为:");for (int i=9;i>0;i--){count=(count+1)*2;System.out.print(count+"个"+"    ");}}}

8、编写并测试以下递归方法,递归公式为

package com;import java.util.Scanner;public class day1 {static float p(int n,int x){float sum;if (n == 0){sum = 1;} else{if (n == 1){sum = x;} else{sum = ((2 * n - 1) * x * p(n - 1, x) - (n - 1) * p(n - 2, x)) / n;}}return sum;}public static void main(String[] args) {float sum;Scanner sc = new Scanner(System.in);System.out.println("请输入n:");int n = sc.nextInt();System.out.println("请输入x:");int x = sc.nextInt();sum = p(n,x);System.out.println("结果为:"+sum);}}

9、某火车站规定:在旅游旺季7~9月份,如果订票20张及其以上者,优惠票价的10%;20张以下,优惠5%;在旅游淡季1~6月份、10~12月份,订票20张及其以上者,优惠20%,20张以下,优惠10%。编写一个Java程序能够根据月份和旅客订票张数决定优惠率

package com;import java.util.Scanner;
import java.lang.String;
public class day1
{public static void main(String[] args){Scanner scanner = new Scanner(System.in);System.out.print("请输入月份:");int mth = scanner.nextInt();System.out.print("亲输入票数:");int count = scanner.nextInt();if (mth>=7 && mth<=9){if (count>=20){System.out.println("    "+"优惠票价10%");}else {System.out.println("    "+"优惠票价5%");}}else {if (count>=20){System.out.println("    "+"优惠票价20%");}else {System.out.println("    "+"优惠票价优惠10%");}}}}

10、编写一Java程序,计算cosx=1-+- +…,精确到第n项,误差小于0.000 1,x的值由键盘输入

package com;import java.util.Scanner;
import java.lang.String;
public class day1
{public static void main(String[] args){System.out.print("请输入x的值:");Scanner scanner = new Scanner(System.in);double sc = scanner.nextDouble();double cosx=1;double m=1;do{for (int i=2;;i++){m=(2*i)*(2*i-1);cosx+=-((sc*sc)/m);if (cosx<0.00001){break;}}}while(cosx>0.00001);System.out.println("cosx="+cosx);}}

11、编写一个通用方法,在给出的一维数组中查找一个数,找到时输出已找到某数,未找到时输出未找到某数

package com;import java.util.Scanner;
import java.lang.String;
public class day1
{public static void main(String[] args){int []arr=new int[10];Scanner scanner = new Scanner(System.in);System.out.println("输入10个数!");for (int i=0;i<arr.length;i++){arr[i]=scanner.nextInt();}System.out.println("清输入要查找的数字:");int m = scanner.nextInt();for (int i=0;i<arr.length;i++){if (arr[i]==m){System.out.println("该数在数组中下标为"+i);}else System.out.println("err");}}}

12、定义一个4行4列的double型二维数组。创建一个方法显示数组并计算任意给定的行、给定的列、主对角线和副对角线的和以及数组中的最大值

package com;import java.util.Scanner;
import java.lang.String;
public class day1
{public static void main(String[] args){int arr[][]=new int[4][4];Scanner scanner = new Scanner(System.in);System.out.println("请从键盘输入16个数:");for (int i=0;i< arr.length;i++){for (int j=0;j<arr[i].length;j++){arr[i][j]=scanner.nextInt();}}System.out.println("你输入的数组为:");for (int i=0;i<arr.length;i++){for (int j=0;j<arr[i].length;j++){System.out.print(arr[i][j]+"\t");}System.out.println();}System.out.println("请输入要计算的行号:");int rw = (scanner.nextInt()-1);int RWcount=0;for (int i=0;i<arr[rw].length;i++){RWcount+=arr[rw][i];}System.out.println(RWcount);System.out.println("请输入要计算的列号:");int cl = (scanner.nextInt()-1);int CLcount=0;for (int i=0;i<arr[cl].length;i++){CLcount+=arr[i][cl];}System.out.println(CLcount);System.out.println("主对角线和为:");int Ccount=0;Ccount=arr[0][0]+arr[1][1]+arr[2][2]+arr[3][3];System.out.println(Ccount);System.out.println("副对角线和为:");int Rount=0;Rount=arr[0][3]+arr[1][2]+arr[2][1]+arr[3][0];System.out.println(Rount);}}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新手如何快速上手HTTP爬虫IP?

对于刚接触HTTP爬虫IP的新手来说&#xff0c;可能会感到有些困惑。但是&#xff0c;实际上HTTP爬虫IP并不复杂&#xff0c;只要掌握了基本的操作步骤&#xff0c;就可以轻松使用。本文将为新手们提供一个快速上手HTTP爬虫IP的入门指南&#xff0c;帮助您迅速了解HTTP爬虫IP的基…

速通RabbitMQ的五种常见消费模型

目录 引言1. 简单队列模型&#xff08;Simple Queue Model&#xff09;优缺点及适用场景代码示例 2. 工作队列模型&#xff08;Work Queue Model&#xff09;优缺点及适用场景代码示例 3. 发布/订阅模型&#xff08;Publish/Subscribe Model&#xff09;优缺点及适用场景代码示…

08. 机器学习- 线性回归

文章目录 线性回归 LINEAR REGRESSION 从本次课程开始&#xff0c;大部分时候我将不再将打印结果贴出来了&#xff0c;因为太占用篇幅。小伙伴可以根据我的输出执行敲一遍代码来进行学习和验证。 同样是为了节省篇幅&#xff0c;我也不会再一行行那么仔细的解释代码了&#xff…

Springcloud中间件-----分布式搜索引擎 Elasticsearch

该笔记是根据黑马程序员的课来自己写了一遍的,b站有对应教程和资料 第一部分 第二部分 第三部分 预计看完跟着练习5小时足够 1.初识elasticsearch 1.1.了解ES 1.1.1.elasticsearch的作用 elasticsearch是一款非常强大的开源搜索引擎&#xff0c;具备非常多强大功能&#xff…

提升战斗力!吃鸡行家分享顶级游戏干货,助你轻松拿下绝地求生

作为吃鸡行家&#xff0c;我们都知道&#xff0c;在绝地求生中提高战斗力至关重要。今天我来分享一些独特的干货&#xff0c;帮助你成为顶级的吃鸡玩家&#xff0c;并分享一些方便吃鸡作图、装备皮肤库存展示和查询的技巧。 首先&#xff0c;让我们来谈谈绝地求生作图工具推荐。…

网络架构介绍

1 网络 7 层架构 7 层模型主要包括&#xff1a; 1. 物理层&#xff1a;主要定义物理设备标准&#xff0c;如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流&#xff08;就是由 1、0 转化为电流强弱来进行传输,到达目的地后在转化为1、0…

深度学习DAY3:激活函数

激活函数映射——引入非线性性质 h &#xff08;Σ(W * X)b&#xff09; yσ&#xff08;h&#xff09; 将h的值通过激活函数σ映射到一个特定的输出范围内的一个值&#xff0c;通常是[0, 1]或[-1, 1] 1 Sigmoid激活函数 逻辑回归LR模型的激活函数 Sigmoid函数&#xff0…

深度学习_2_数据处理

import os是一个Python的内置模块&#xff0c;用于与操作系统进行交互。通过导入os模块&#xff0c;你可以使用其中提供的函数和方法来执行各种与操作系统相关的任务。 import osos.makedirs(os.path.join(.., date), exist_okTrue)##将创建一个名为date的文件夹&#xff0c;位…

LeetCode【279】完全平方数

题目&#xff1a; 思路&#xff1a; https://www.acwing.com/solution/leetcode/content/114877/ 1、给定数字&#xff0c;是由若干个完全平方数组合而成&#xff0c;求使用的最小的完全平方数的个数&#xff0c;如果这些完全平方数已知&#xff0c;则完全等同于百元百鸡问题…

VIM指令

vim的工作模式 vim一般有6种工作模式。 普通模式&#xff1a;使用vim打开一个文件时默认模式&#xff0c;也叫命令模式&#xff0c;允许用户通过各种命令浏览代码、滚屏等操作。 插入模式&#xff1a;也可以叫做编辑模式&#xff0c;在普通模式下敲击 i 、a 或 o 就进入插入模…

UE5.3.1 无法创建C++ 工程问题解决方法

UE5.3.1 创建C工程提示DONET问题&#xff0c;直接下载最新版本的NET8.0的SDK安装即可解决&#xff01; 下载地址&#xff1a;下载 .NET 8.0 SDK (v8.0.100-rc.2) - Windows x64 Installer

Java基于SpringBoot的高校招生系统

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 文章目录 简介系统设计思路1 数据库设计2 系统整体设计 系统详细设计1系统功能模块2. 管理员功能模块3学生…

camera bringup介绍

目录 camera bringup需要做什么 camera硬件包括 camera硬件连接关系 camera使用的通信接口 camera sensor cmos sensor 色彩滤镜 sensor输出的分辨率 曝光控制-快门 曝光控制-曝光时间 曝光时间如何控制 曝光控制-帧率 曝光控制-增益 手动曝光 手动设置曝光-长曝…

bootz启动 Linux内核过程总结

一. bootz启动Linux uboot 启动 Linux内核使用bootz命令。当然还有其它的启动命令&#xff0c;例如&#xff0c;bootm命令等等。 前面几篇文章分析 bootz命令启动 Linux内核的过程中涉及的几个重要函数。 bootz启动 Linux内核过程中涉及的全局变量images_凌肖战的博客-CSDN博…

springboot json在线转换为实体类

json字符串映射到一个实体类。 这里有一个在线转换工具 http://www.bejson.com/json2javapojo/new/ 截图如下&#xff1a;

html与css知识点

html 元素分类 块级元素 1.独占一行&#xff0c;宽度为父元素宽度的100% 2.可以设置宽高 常见块级元素 h1~h6 div ul ol li dl dt dd table form header footer section nav article aside 行内元素 1.一行显示多个 2.不能设置宽高&#xff0c;宽高由元素内容撑开 常见行内…

Yocto Project 编译imx-第1节(下载和编译)

Yocto Project 编译imx-第1节&#xff08;下载和编译&#xff09; 前言说明参考文章版本说明Ubuntu 系统说明和建议必备软件安装设置Git用户名和密码解决git报错使用FastGithub 获取repo获取Yocto项目设置Yocto源获取Yocto版本&#xff08;https://source.codeaurora.org废弃&a…

记录用命令行将项目打包成war包

记录用命令行将项目打包成war包 找到项目的pom.xml 在当前路径下进入cmd 输入命令 mvn clean package 发现报错了 Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on project MMS: Error assembling WAR: webxml attribute is req…

排序算法-快速排序法(QuickSort)

排序算法-快速排序法&#xff08;QuickSort&#xff09; 1、说明 快速排序法是由C.A.R.Hoare提出来的。快速排序法又称分割交换排序法&#xff0c;是目前公认的最佳排序法&#xff0c;也是使用分而治之&#xff08;Divide and Conquer&#xff09;的方式&#xff0c;会先在数…

统计子岛屿的数量

统计子岛屿 题目描述 给你两个 m x n 的二进制矩阵 grid1 和 grid2 &#xff0c;它们只包含 0 &#xff08;表示水域&#xff09;和 1 &#xff08;表示陆地&#xff09;。一个 岛屿 是由 四个方向 &#xff08;水平或者竖直&#xff09;上相邻的 1 组成的区域。任何矩阵以外…