JAVA语言程序设计课后习题----第八单元解析(仅供参考)
1 本题主要考的是方法的克隆,与c++里面的拷贝有点相似,具体看书本p147
- import java.util.Objects;
- public class Square implements Cloneable{
- private int length;
- public Square(int length) {
- this.length = length;
- }
- @Override
- public String toString() {
- return "Square[" +
- "length=" + length +
- ']';
- }
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
- Square square = (Square) o;
- return length == square.length;
- }
- @Override
- public int hashCode() {
- return Objects.hash(length);
- }
- public static void main(String[] args) throws CloneNotSupportedException{
- Square s1=new Square(100);
- Square s2=(Square)s1.clone();
- System.out.println(s1==s2);
- System.out.println(s1.equals(s2));
- System.out.println(s2.toString());
- }
- }
2 本题水题,主要就是考数组,把产生的需求数存在数组里
- public class Suiji {
- public static int a[]=new int[6];
- public static void main(String[] args) {
- Suiji s=new Suiji();
- System.out.println("随机产生1000个1-6的数");
- s.stc(6);
- for (int i = 1; i <=6 ; i++) {
- System.out.println(i+"的概率是"+(a[i-1]*1.0/1000)*100+"%");
- }
- System.out.println("****************************");
- System.out.println("随机产生1000个1-1000的数");
- for (int i = 0; i < a.length; i++) {
- a[i]=0;
- }
- s.stc(1000);
- for (int i = 1; i <=6 ; i++) {
- System.out.println(i+"的概率是"+(a[i-1]*1.0/1000)*100+"%");
- }
- }
- public void stc(int num){
- for (int i = 0; i <1000 ; i++) {
- switch ((int)(Math.random()*num+1)){
- case 1:a[0]++;
- break;
- case 2:a[1]++;
- break;
- case 3:a[2]++;
- break;
- case 4:a[3]++;
- break;
- case 5:a[4]++;
- break;
- case 6:a[5]++;
- break;
- }
- }
- }
- }
3 本题注意sinx x是弧度即可
- public class Area {
- public static void main(String[] args) {
- float a=4.0f,b=5.0f;
- float t= (float) Math.sin(30*(Math.PI/180));
- // System.out.println("三角形的面积为:"+(1*1.0/2)*a*b*t);
- System.out.println(((1*1.0/2)*a*b*t));
- }
- }
4 本题只要记得如何求最大值、最小值的封装方法即可(MAX_VALUE、MIN_VALUE)
- public class Baozhuang {
- // Integer integer;
- public static void main(String[] args) {
- Integer integer = null;
- System.out.println("Integer的最大值"+integer.MAX_VALUE+"\t"+"Integer的最小值"+integer.MIN_VALUE);
- Long l=null;
- System.out.println("Long的最大值"+l.MAX_VALUE+"\t"+"Long的最小值"+l.MIN_VALUE);
- Float f=null;
- System.out.println("Float的最大值"+f.MAX_VALUE+"\t"+"Float的最小值"+f.MIN_VALUE);
- Double d=null;
- System.out.println("Double的最大值"+d.MAX_VALUE+"\t"+"Double的最小值"+d.MIN_VALUE);
- Character character=null;
- System.out.println(" Character的最大值"+character.MAX_VALUE+"\t"+" Character的最小值"+character.MIN_VALUE);
- Byte b=null;
- System.out.println(" Byte的最大值"+b.MAX_VALUE+"\t"+" Byte的最小值"+b.MIN_VALUE);
- Short s=null;
- System.out.println("Short的最大值"+s.MAX_VALUE+"\t"+" Short的最小值"+s.MIN_VALUE);
- }
- }
5 本题自行百度查看
6 本题水题,plusDays就是给当前对象增加几天
- import java.text.ParseException;
- import java.time.LocalDate;
- public class ch06 {
- public static void main(String[] args) throws ParseException {
- LocalDate pday=LocalDate.of(2017,1,1).plusDays(256);
- System.out.println(pday);
- }
- }
7 本题主要就是知道如何求天数,对什么值求模
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import java.util.Scanner;
- public class ch07 {
- public static void main(String[] args) throws ParseException {
- Scanner input =new Scanner(System.in);
- String dbtime1 = input.next(); //第二个日期
- String dbtime2 = input.next(); //第一个日期
- //算两个日期间隔多少天
- SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
- Date date1 = format.parse(dbtime1);
- Date date2 = format.parse(dbtime2);
- int a = (int) ((date1.getTime() - date2.getTime()) / (1000*3600*24));
- System.out.println(a);
- }
- }
8 本题具体自行查看书本p159
- import java.time.LocalDate;
- import java.time.format.TextStyle;
- import java.util.Locale;
- import java.util.Scanner;
- public class PromtCalendar {
- public static void main(String[] args) {
- Scanner input = new Scanner(System.in);
- System.out.println("输入一个年份(如2018):");
- int year = input.nextInt();
- for (int j = 1; j <=12; j++) {
- // 返回本月第一天
- LocalDate dates = LocalDate.of(year,j, 1);
- String monthName = dates.getMonth().getDisplayName(TextStyle.FULL, Locale.getDefault());
- // 返回当月的天数
- int dayOFmonth = dates.lengthOfMonth();
- System.out.println(year + "年 " + monthName);
- System.out.println("-------------------------------");
- System.out.printf("%4s%3s%3s%3s%3s%3s%3s%n", "一", "二", "三", "四", "五", "六", "日");
- int dayOfWeek = dates.getDayOfWeek().getValue();
- for (int i = 2; i <= dayOfWeek; i++) {
- System.out.printf("%4s", " ");
- }
- for (int i = 1; i <= dayOFmonth; i++) {
- System.out.printf("%4d", i);
- if ((dayOfWeek + i - 1) % 7 == 0)
- System.out.println();
- }
- System.out.println();
- }
- }
- }
9 本题主要考的数组里面值的存入问题,也可以用if语句逐一进行判断,注意要月份和天数都要满足
- import java.util.Scanner;
- public class xingzuo {
- /* public static void main(String[] args) {
- Scanner input = new Scanner(System.in);
- System.out.println("输入一个年份(如2018):");
- int year=input.nextInt();
- int month = input.nextInt();
- // 输入天数
- int day = input.nextInt();
- LocalDate dates3 = LocalDate.of(year, month, day).plusDays(30);
- //dates3.plusDays(30);
- System.out.println(dates3);
- LocalDate[] desk = {LocalDate.of( 0,3, 20), LocalDate.of(0, 4, 20),
- LocalDate.of(0, 4, 19), LocalDate.of(0, 4, 21),
- LocalDate.of(0, 5, 20), LocalDate.of(0, 6, 22),
- LocalDate.of(0, 6, 21), LocalDate.of(0, 7, 23),
- LocalDate.of(0, 7, 22), LocalDate.of(0, 8, 23),
- LocalDate.of(0, 8, 22), LocalDate.of(0, 9, 24),
- LocalDate.of(0, 9, 22), LocalDate.of(0, 10, 24),
- LocalDate.of(0, 10, 23), LocalDate.of(0, 11, 23),
- LocalDate.of(0, 11, 22), LocalDate.of(0, 12, 22),
- LocalDate.of(0, 12, 21), LocalDate.of(0, 1, 20),
- LocalDate.of(0, 1, 19), LocalDate.of(0, 2, 19),
- LocalDate.of(0, 2, 18), LocalDate.of(0, 3, 21)};
- if (dates3.isAfter(desk[0]) && dates3.isBefore(desk[1])) {
- System.out.println("白羊座" );
- }
- else if (dates3.isAfter(desk[2]) && dates3.isBefore(desk[3])){
- System.out.println("金牛座");
- }
- else if (dates3.isAfter(desk[4]) && dates3.isBefore(desk[5])){
- System.out.println("双子");
- }
- else if (dates3.isAfter(desk[6]) && dates3.isBefore(desk[7])){
- System.out.println("巨蟹");
- }
- else if (dates3.isAfter(desk[8]) && dates3.isBefore(desk[9])){
- System.out.println("狮子");
- }
- else if (dates3.isAfter(desk[10]) && dates3.isBefore(desk[11])){
- System.out.println("处女");
- }
- else if (dates3.isAfter(desk[12]) && dates3.isBefore(desk[13])){
- System.out.println("天平");
- }
- else if (dates3.isAfter(desk[14]) && dates3.isBefore(desk[15])){
- System.out.println("天蝎");
- }
- else if (dates3.isAfter(desk[16]) && dates3.isBefore(desk[17])){
- System.out.println("射手");
- }
- else if (dates3.isAfter(desk[18]) && dates3.isBefore(desk[19])){
- System.out.println("摩羯");
- }
- else if (dates3.isAfter(desk[20]) && dates3.isBefore(desk[21])){
- System.out.println("水平");
- }
- else if (dates3.isAfter(desk[22]) && dates3.isBefore(desk[23])){
- System.out.println("双鱼");
- }
- }*/
- public static void main(String[] args) {
- Scanner input = new Scanner(System.in);
- System.out.println("请输入出生日期如(5 20)");
- System.out.println(
- getConstellation(input.nextInt(),input.nextInt())
- );
- }
- private final static int[] dayArr = new int[] { 20, 19, 21, 20, 21, 22, 23, 23, 23, 24, 23, 22 };
- private final static String[] constellationArr = new String[] { "摩羯座", "水瓶座", "双鱼座", "白羊座", "金牛座", "双子座", "巨蟹座", "狮子座", "处女座", "天秤座", "天蝎座", "射手座", "摩羯座" };
- public static String getConstellation(int month, int day) {
- return day < dayArr[month - 1] ? constellationArr[month - 1] : constellationArr[month];
- }
- }
JAVA语言程序设计课后习题----第八单元解析(仅供参考)的更多相关文章
- JAVA语言程序设计课后习题----第七单元解析(仅供参考)
1 本题水题,就是想让你理解继承的含义 public class Animaal { public double weight; public void eat(){ } } public class ...
- JAVA语言程序设计课后习题----第六单元解析(仅供参考)
1 本题就是基本函数的用法 import java.util.Scanner; public class Poone { public static void main(String[] args) ...
- JAVA语言程序设计课后习题----第五单元解析(仅供参考)
1 本题是水题,题目要求你求最大值.最小值,建议你用Arrays.sort函数进行排序,最大值.最小值就可以确定了 import java.util.Arrays; import java.util. ...
- JAVA语言程序设计课后习题----第四单元解析(仅供参考)
1 本题水题,主要理解题目的意思即可,访问方法和修改方法可以通过快捷方式alt+insert选中你需要的成员变量即可 public class Person { public String name; ...
- JAVA语言程序设计课后习题----第三单元解析(仅供参考)
1 本题水题,记住要知道输入格式即可 import java.util.Scanner; public class test { public static void main(String[] ar ...
- JAVA语言程序设计课后习题----第二单元解析(仅供参考)
1 注意不同类型转换 import java.util.Scanner; public class Ch02 { public static void main(String[] args) { Sc ...
- JAVA语言程序设计课后习题----第一单元解析(仅供参考)
1 本题是水题,基本的输出语句 public class test { public static void main(String[] args) { // 相邻的两个 "" 要 ...
- Java语言程序设计-助教篇
1. 给第一次上课(软件工程)的老师与助教 现代软件工程讲义 0 课程概述 给学生:看里面的第0个作业要求 2. 助教心得 美国视界(1):第一流的本科课堂该是什么样?(看里面的助教部分) 助教工作看 ...
- 《JAVA语言程序设计》上课笔记
教学目标:1.使学生了解JAVA课程的性质.定位.作用:为什么要学习JAVA?让学生知道如何学好JAVA: 教学内容: 一. 问几个问题 1. 你们到这里来干什么 ...
随机推荐
- 阶段5 3.微服务项目【学成在线】_day05 消息中间件RabbitMQ_15.RabbitMQ研究-与springboot整合-声明交换机和队列
复制topic的代码 把常量都设置成public方便其他的类引用 ExchangeBuilder里面有4个方法分别对应四个交换机. 声明Email和短信的队列 队列绑定交换机 所以需要把Bean注入到 ...
- 电力项目十一--js添加浮动框
1.添加浮动窗口样式 <!-- 浮动窗口样式css begin --> <style type="text/css"> #msg_win{border:1p ...
- Spring Security(20)——整合Cas
整合Cas 目录 1.1 配置登录认证 1.1.1 配置AuthenticationEntryPoint 1.1.2 配置CasAuthenticationFilt ...
- QML使用Python的函数
有2种方法: 一. QML中定义一个信号,连接Python里的函数: 这里的函数不用特意指明为槽函数,普通函数即可. QML的信号连接Python的函数 QML:首先在QML中定义一个信号,这里的信号 ...
- MySQL数据库相关资料
python 全栈开发,Day60(MySQL的前戏,数据库概述,MySQL安装和基本管理,初识MySQL语句) python 全栈开发,Day61(库的操作,表的操作,数据类型,数据类型(2),完整 ...
- css解决fixed布局不会出现滚动条问题
需求是页面移动到一定高度时,顶部出现固定的导航栏,并导航栏带滚动条. CSS很好实现,但是导航栏飘浮顶部后,滚动条怎么也不显示,搜了一些资料终于解决了,现做下笔记. <div class=&qu ...
- 【FICO系列】SAP FI验证故障排除(调试)
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FICO系列]SAP FI验证故障排除(调试) ...
- Comparable 接口学习:对对象List进行比较和排序(正序和逆序)
Comparable 接口只有一个 int compareTo(T o) 方法 1.int compareTo(T o) 方法 方法说明: 比较此对象和规定的对象,如果此对象大于,等于,小于规定对象, ...
- Red And Green
#include <stdio.h> #include <string.h> #define LENGTH 50 /* * 1.字符序列中有一个字符肯定是分界点,它的左边全为红 ...
- idea启动不了,报错Address localhost:1099 is already in use
解决方法 win + R 然后输入cmd netstat -ano|findstr 1099 taskkill -f -pid 你的PID