Java-exam

Java

一卷

T1

/*
编写一个Java程序,求1!+2!+…+10!的值,程序文件命名为“FactoriesSum.java”。*/
package Test.A基础语法.T1;public class FactoriesSum {public static void main(String[] args) {int sum = 0,num=1;for (int i=1;i<=10;i++){num=num*i;sum=sum+num;}System.out.println(sum);}
}

T4

/*
编写一个Java程序,输出1949年-2023年内的闰年,要求按行输出,一行5个年份,用空格分隔,程序文
件命名为“LeapYear.java”。*/package Test.A基础语法.T4;public class LeapYear {public static void main(String[] args) {int count = 0;for (int year = 1949; year <= 2023; year++) {if (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)) {System.out.print(year + " ");count++;if (count % 5 == 0) {System.out.println();}}}}
}

T6

package Test.B面向对象编程.T6;
import java.math.*;
/*
* (1)定义一个形状的抽象类:Shape,包含两个抽象方法:
① getArea:获取形状的面积;
② getPerimeter:获取形状的周长;
(2)再定义两个子类-圆形类和矩形类:Circle和Rectangle,分别继承自Shape类。
① Circle类中需要包含一个私有变量-半径radius和一个构造方法,构造方法带有一个参数
radius,通过构造方法可以设置矩形的半径;并且需要实现getArea和getPerimeter方法分别
获取圆形的面积和周长。
② Rectangle类中需要包含两个私有变量-长度length和宽度width;以及构造方法,构造方法
带有两个参数length和width,通过构造方法可以设置矩形的长和宽;并且需要实现getArea
和getPerimeter方法分别获取矩形的面积和周长。
(3)最后,编写一个测试类(主类)Test,在main方法中创建一个Circle和一个Rectangle对象,并
分别调用它们的getArea和getPerimeter方法,打印它们的面积和周长
* */
abstract class Shape{public double getArea(){return 0;}public double getPerimeter(){return 0;}
}class Circle extends Shape{private double radius;public Circle(double radius){this.radius = radius;}public double getArea(){return Math.PI*radius*radius;}public double getPerimeter(){return 2*Math.PI*radius;}
}class Rectangle extends Shape{private double length;private double width;public Rectangle(double length,double width){this.length = length;this.width = width;}public double getArea(){return length*width;}public double getPerimeter(){return 2*(length+width);}
}
public class test {public static void main(String[] args) {Circle circle = new Circle(5);Rectangle rectangle = new Rectangle(4,6);System.out.println("圆的面积为:"+circle.getArea());System.out.println("圆的周长为:"+circle.getPerimeter());System.out.println("矩形的面积为:"+rectangle.getArea());System.out.println("矩形的周长为:"+rectangle.getPerimeter());}
}

T7

package Test.B面向对象编程.T7;
/*
编写接口Animal。Animal接口有两个抽象方法cry()和getAnimalName(),按要求,实现该接口的
各种具体动物类给出自己的叫声和种类名称。设计一个动物声音模拟器,希望模拟器可以模拟许多动
物的叫声,要求如下:
(1)编写接口Animal。Animal接口有两个抽象方法cry()和 getAnimalName(),即要求实现该接
口的各种具体动物类给出自己的叫声和种类名称。
(2)编写模拟器类Simulator。该类有一个 playSound(Animal animal)方法,该方法的参数是
Animal类型,即参数animal可以调用实现Animal接口类重写的cry()方法播放具体动物的声音,
调用重写的getAnimalName()方法显示动物种类的名称。
(3)编写实现Animal接口的 Dog类和Cat类。*/
abstract interface Animal{void cry();String getAnimalname();
}
class Simulator{public void playground(Animal animal){System.out.println(animal.getAnimalname());animal.cry();}
}
class Dog implements Animal{public String getAnimalname(){return "Dog";}public void cry(){System.out.println("汪汪汪");}
}
class Cat implements Animal{public String getAnimalname(){return "Cat";}public void cry(){System.out.println("喵喵喵");}
}
public class T7 {public static void main(String[] args) {Simulator simulator = new Simulator();simulator.playground(new Dog());simulator.playground(new Cat());}
}

T9

package Test.Java综合应用.T9;import java.util.Scanner;/*
编写一个Java程序,命名为“ReverseStr.java”,实现如下功能:
控制台输入一个字符串s,请你反转字符串中单词的顺序。单词是由非空格字符组成的字符串。字符串中
每个单词间使用一个或多个空格隔开,单词数量不超过10个。返回单词顺序颠倒且单词之间用单个空格
连接的结果字符串。
注意:输入字符串 s中可能会存在前导空格、尾随空格。返回的结果字符串中,单词间应当仅用单个空
格分隔,且不包含任何额外的空格。
例如:
输入:I am a student
输出:student a am I*/
public class ReverseStr {public static void main(String[] args) {String s ;//s = "I am a student";Scanner scanner = new Scanner(System.in);s = scanner.nextLine();String[] words = s.split(" ");//String[] words = s.split("\\s+");for(int i = words.length-1;i>=0;i--){if (i != 0) {System.out.print(words[i] + " ");} else {System.out.print(words[i]);}}}
}

二卷

T2

package Test2.A基础语法.T2;
/*
* 编写应用程序,使用for循环语句计算5+55+555+5555+...的前10项之和,程序文件命名为
“SequenceSum.java”。*/
public class SequenceSum {public static void main(String[] args) {long sum = 0;long term = 0;for (int i = 0; i < 10; i++) {term=term*10+5;sum+= term;System.out.println(term);}System.out.println(sum);}
}

T3

package Test2.A基础语法.T3;/*编写程序,输出满足1+2+3+...+n>10000的最小正整数n,程序文件命名为“IntegerMin.java”。*/
public class IntegerMin {public static void main(String[] args) {int max = 0;int i;for (i = 1; i < Integer.MAX_VALUE; i++) {max = max + i;if (max > 10000)break;}System.out.println("满足条件的最小正整数n为:" + i);}
}

T6

package Test2.B核心语法.T6;
/*
* 设计一个计算柱体应用程序,希望该应用程序可以计算不同柱体的体积,要求如下:
(1) 首先设计一个抽象类Geometry(几何图形)类,在该抽象类中定义一个抽象getArea()方法.
(2) 然后设计PillarL(柱体)类,该类的对象调用getVolume()方法计算柱体的体积,
(3) 分别设计Circle(圆)类和Rectangle(矩形)类和Triangle(三角形)类作为Geometry类的子类。
(4) 最后设计Application测试类(主类)分别求出圆柱的体积(底面圆r=10),四棱柱的体积(底面矩形长12,
宽10),三棱柱的体积(底面三角形三边长3,4,5)。
提示:三角形的面积可以由海伦公式计算。
海伦公式:如果一个三角形的三边长为a,b,c,设p=(a+b+c)/2,则三角形的面积:UML图参考*/abstract class Geometry {public abstract double getArea();}
class Pillar {Geometry bottom; //bottom是抽象类Geometry声明的变量double height;Pillar (Geometry bottom,double height) {this.bottom=bottom; this.height=height;}public double getVolume() {if(bottom==null) {System.out.println("没有底,无法计算体积");return -1;}return bottom.getArea()*height; //bottom可以调用子类重写的getArea方法}
}class Circle extends Geometry {double r;Circle(double r) {this.r=r;}public double getArea() {return(3.14*r*r);}
}class Rectangle extends Geometry{double a,b;Rectangle(double a,double b) {this.a=a; this.b=b;}public double getArea() {return a*b;}
}
class Triangle extends Geometry {double a,b,c;public Triangle(double a, double b, double c) {this.a = a;this.b = b;this.c = c;}public double getArea(){double p=(a+b+c)/2;return Math.sqrt(p*(p-a)*(p-b)*(p-c));}
}
public class T6 {public static void main(String args[]){Pillar pillar;Geometry bottom;bottom=new Rectangle(12,10);pillar =new Pillar (bottom,10); //pillar是具有矩形底的柱体System.out.println("四棱柱体积为:"+pillar.getVolume());bottom=new Circle(10);pillar =new Pillar (bottom,10); //pillar是具有圆形底的柱体System.out.println("圆柱体积为:"+pillar.getVolume());bottom=new Triangle(3,4,5);pillar=new Pillar(bottom,10);System.out.println("三棱柱体积为:"+pillar.getVolume());}
}

T7

package Test2.B核心语法.T7;
/*
* 设计一个应用程序,该应用程序用接口实现计算三个数的算术平均数和几何平均数,例如有两个数a,b,c
其算术平均数为:(a+b+c)/3;其几何平均数为: 。要求如下:
(1)设计一个接口(CompurerAverage),该接口有一个抽象方法average(),要求实现该接口的
类完成平均数的计算。
(2)设计一个ArithmeticAverage类实现算术平均数的运算。
(3)设计一个GeometryAverage类实现几何平均数的运算。
(4)设计一个TestAverage测试类(主类)完成测试,a、b、c的值分别为11、12、15。*/
interface ComputerAverage {public double average(double a,double b,double c);
}
class ArithmeticAverage implements ComputerAverage{public double average(double a, double b, double c) {double aver=0;aver=(a+b+c)/3;return aver;}
}
class GeometryAverage implements ComputerAverage{public double average(double a,double b,double c) {double aver=0;aver=Math.pow((a*b*c),1.0/3);return aver;}
}
public class T7 {public static void main(String args[]) {ComputerAverage computer;double a=11,b=12,c=15;computer = new ArithmeticAverage();double result = computer.average(a,b,c);System.out.printf("%5.2f,%5.2f和%5.2f的算术平均值:%5.2f\n",a,b,c,result);computer = new GeometryAverage();result= computer.average(a,b,c);System.out.printf("%5.2f,%5.2f和%5.2f的几何平均值:%5.2f",a,b,c,result);}
}

T8

package Test2.C综合应用.T8;
import java.util.InputMismatchException;
import java.util.Scanner;
/*
* 使用Scanner类的实例解析字符串“欢迎光临美好生活超市,你所买的苹果20.5元,梨20元,铅笔5.8元,香
蕉30.5元,矿泉水20.8元。”中的金额,并计算出此次在超市中花费的总额。要求如下:
(1)设计一个givePriceSum类用于解析字符串中的金额。
(2)设计一个PriceSumTest测试类测试结果。*/class GetPrice {public static double givePriceSum(String cost) {Scanner scanner = new Scanner(cost);scanner.useDelimiter("[^0123456789.]+"); //scanner设置分隔标记double sum=0;while(scanner.hasNext()){try{ double price = scanner.nextDouble();sum = sum+price;} catch(InputMismatchException exp){String t = scanner.next();}} return sum;}
public static class PriceSumTest {public static void main(String args[]) {String cost = "欢迎光临美好生活超市,你所买的苹果20.5元,梨20元,铅笔5.8元,香蕉 30.5元,矿泉水20.8元。";double priceSum = GetPrice.givePriceSum(cost);System.out.printf("%s\n你此次花费的金额为:%.2f元\n",cost,priceSum);}
}}

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

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

相关文章

快速制作技术插图,高效管理零部件手册

在当前的制造业和工程领域中&#xff0c;技术插图对于产品设计、制造、维修和市场营销等环节具有至关重要的作用。然而&#xff0c;传统的插图制作方式往往依赖于人工绘制或使用较为复杂的软件&#xff0c;效率低下&#xff0c;而且容易出错。 由于CAD技术的广泛应用&#xff…

备份树莓派系统的多种方法,构建镜像

在我们使用树莓派进行学习或者搭建实验环境时经常会把系统玩坏&#xff0c;辛苦配置的开发环境又得重新配置&#xff1b;或者更新某一软件后发现新版本和某些组件不兼容&#xff0c;又无法降级。这个时候我们会想将系统在稳定时进行备份&#xff0c;在系统出现问题后可以很方便…

网络编程——套接字缓存(buffer)满会丢失数据吗

套接字缓冲区已满并不意味着数据丢失&#xff0c;但它可能会导致发送和接收数据的操作阻塞或失败&#xff0c;从而间接导致数据丢失或延迟。 解释 发送端缓冲区已满&#xff1a; 当发送端的套接字缓冲区已满时&#xff0c;send 或 write 操作会阻塞&#xff0c;直到有足够的空…

爬虫工具yt-dlp

yt-dlp是youtube-dlp的一个fork&#xff0c;youtube-dlp曾经也较为活跃&#xff0c;但后来被众多网站屏蔽&#xff0c;于是大家转而在其基础上开发yt-dlp。yt-dlp的github项目地址为&#xff1a;GitHub - yt-dlp/yt-dlp: A feature-rich command-line audio/video downloaderA …

新手必看!场外期权交易的六大注意事项

场外期权交易的六大注意事项 对于初涉金融市场的投资者来说&#xff0c;场外期权交易无疑是一个既具吸引力又充满挑战的领域。为确保您在交易中能够稳健获利&#xff0c;以下六大注意事项值得每位新手仔细研读。 文章来源/&#xff1a;财智财经 一、深入理解期权基本概念 场…

《动态网站建设》

动态网站建设 试题类型 试题数量 总分 论述题 1 10.00分 名词解释 2 20.00分 简答题 3 30.00分 论述题 ASP.NET有什么优点?性能强大:ASP.NET允许早期绑定、实时编译、本机优化和盒外缓存服务,这意味着在编写代码行之前便显著提高了性能。 安全性高:ASP.NET为Web应用程序提供…

书客护眼大路灯Sun再次引领先锋,守护青少年视力健康!

在这个信息化高速发展的时代&#xff0c;我们的眼睛承受着前所未有的压力。每年的护眼日&#xff0c;不仅是提醒我们关注眼睛健康的时刻&#xff0c;更是全社会共同努力&#xff0c;为青少年营造健康用眼环境的契机。 “守护明亮视界&#xff0c;预防近视从我做起”。随着国内青…

养老服务的现代化探索与挑战

在当前全球人口老龄化日益严重的大背景下&#xff0c;养老服务已成为社会关注的焦点。随着科技的发展和经济的增长&#xff0c;人们对养老服务的需求和期望也在不断提高。养老服务不仅仅是解决老年人基本生活的问题&#xff0c;更是关乎老年人生活质量和幸福感的重要方面。因此…

toB市场 | 我们喜欢赞助这样的展会活动

过去的六一儿童节&#xff0c;刚去成都参加了个行业内的展会。受护网行动、儿童节等等的影响&#xff0c;这次去成都的客户并不算太多&#xff0c;但会议延续了一贯的高品质&#xff0c;让我们收货满满。 选择目标受众来得多的展会 不同厂商会视自己的产品和模式、目标客户来…

Dijkstra算法(迪杰斯特拉算法)

迪杰斯特拉算法通常用在图的最短路径问题上 而迷宫的最短路径可以用BFS来做&#xff0c;虽然BFS不能用于带权值的迷宫&#xff0c;但是可以对BFS稍微改进&#xff0c;只需要把判断是否走过的数组改为最短路径的数组&#xff0c;在判断是否可走时判断是否比最短的小即可 Dijks…

重塑状态管理的艺术:Vue3中Pinia的魔法之旅内包含简易购物车案例

前言 在Vue.js的世界里&#xff0c;每一次更新都是一次进化&#xff0c;Vue3携带着更强大的性能与灵活性翩然而至。而在这场技术盛宴中&#xff0c;Pinia以一种优雅而革命性的方式&#xff0c;重新定义了状态管理的体验。如果说Vuex是Vue2时代的王者&#xff0c;那么Pinia无疑…

【NLP】2、大语言模型综述

一、背景和发展历程 大语言模型四个训练阶段&#xff1a; 预训练&#xff1a; 利用海量的训练数据&#xff0c;包括互联网网页、维基百科、书籍、GitHub、 论文、问答网站等&#xff0c;构建包含数千亿甚至数万亿单词的具有多样性的内容。利用由数千块高性能 GPU 和高速网络组成…

使用2个手机文件恢复工具,轻松找回文件

在这个智能手机横行的时代&#xff0c;手机已经成为我们生活中不可或缺的一部分。然而&#xff0c;就像生活中的一切事物一样&#xff0c;手机也有可能出现意外&#xff0c;比如文件丢失。这就像是你在超市购物&#xff0c;结果发现钱包不见了&#xff0c;那种感觉真是让人抓狂…

STM32项目分享:智能家居语音系统

目录 一、前言 二、项目简介 1.功能详解 2.主要器件 三、原理图设计 四、PCB硬件设计 1.PCB图 2.PCB打板焊接图: 五、程序设计 六、实验效果 七、包含内容 项目分享 一、前言 项目成品图片&#xff1a; 哔哩哔哩视频链接&#xff1a; https://www.bilibili.com…

Android 安全开发之 exported 组件安全

Android系统中的组件是应用的基本构建块&#xff0c;用于实现应用的功能和展现界面。组件可以被其他应用调用或访问&#xff0c;这可以通过设置组件的android:exported属性来控制。然而&#xff0c;如果exported属性设置不当&#xff0c;可能会导致严重的安全漏洞&#xff0c;例…

关于简历优化

应该针对不同岗位制作不同侧重点的简历&#xff0c;比如投python的岗&#xff0c;就把python这个技能往前放&#xff0c;简历上写的项目一定要经得住问&#xff0c;不一定是非常相关。可以被深挖的&#xff0c;而不是表面的问题。面试官提问的时候&#xff0c;即使不会也可以往…

Nvidia/算能 +FPGA+AI大算力边缘计算盒子:自动清理机器

总部位于硅谷的 ViaBot 正在为用于企业的机器人进行试行测试。 2016 年&#xff0c;Gregg Ratanaphanyarat 和 Dawei Ding从宾州州立大学辍学后&#xff0c;创办了一家户外清洁机器人初创公司。 如今&#xff0c;这场赌博似乎正在取得回报。二人的初创公司 ViaBot 正在与一家…

【YOLOV8】4.图片分类-训练自己的数据集

Yolo8出来一段时间了,包含了目标检测、实例分割、人体姿态预测、旋转目标检测、图像分类等功能,所以想花点时间总结记录一下这几个功能的使用方法和自定义数据集需要注意的一些问题,本篇是第四篇,图像分类功能,自定义数据集的训练。 YOLO(You Only Look Once)是一种流行的…

功能安全TSR

功能安全 TSR 的基本概念解析 在当今高度复杂和技术驱动的世界中,功能安全已成为各个领域,尤其是汽车等关键行业中至关重要的考量因素。功能安全 TSR(Technical Safety Requirements,技术安全要求)作为确保系统安全可靠运行的关键要素,具有深刻的定义、丰富的内涵和不可…