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语言程序设计课后习题----第八单元解析(仅供参考)的更多相关文章

  1. JAVA语言程序设计课后习题----第七单元解析(仅供参考)

    1 本题水题,就是想让你理解继承的含义 public class Animaal { public double weight; public void eat(){ } } public class ...

  2. JAVA语言程序设计课后习题----第六单元解析(仅供参考)

    1 本题就是基本函数的用法 import java.util.Scanner; public class Poone { public static void main(String[] args) ...

  3. JAVA语言程序设计课后习题----第五单元解析(仅供参考)

    1 本题是水题,题目要求你求最大值.最小值,建议你用Arrays.sort函数进行排序,最大值.最小值就可以确定了 import java.util.Arrays; import java.util. ...

  4. JAVA语言程序设计课后习题----第四单元解析(仅供参考)

    1 本题水题,主要理解题目的意思即可,访问方法和修改方法可以通过快捷方式alt+insert选中你需要的成员变量即可 public class Person { public String name; ...

  5. JAVA语言程序设计课后习题----第三单元解析(仅供参考)

    1 本题水题,记住要知道输入格式即可 import java.util.Scanner; public class test { public static void main(String[] ar ...

  6. JAVA语言程序设计课后习题----第二单元解析(仅供参考)

    1 注意不同类型转换 import java.util.Scanner; public class Ch02 { public static void main(String[] args) { Sc ...

  7. JAVA语言程序设计课后习题----第一单元解析(仅供参考)

    1 本题是水题,基本的输出语句 public class test { public static void main(String[] args) { // 相邻的两个 "" 要 ...

  8. Java语言程序设计-助教篇

    1. 给第一次上课(软件工程)的老师与助教 现代软件工程讲义 0 课程概述 给学生:看里面的第0个作业要求 2. 助教心得 美国视界(1):第一流的本科课堂该是什么样?(看里面的助教部分) 助教工作看 ...

  9. 《JAVA语言程序设计》上课笔记

    教学目标:1.使学生了解JAVA课程的性质.定位.作用:为什么要学习JAVA?让学生知道如何学好JAVA: 教学内容: 一.        问几个问题 1.             你们到这里来干什么 ...

随机推荐

  1. Java 正则判断一个字符串中是否包含中文

    使用正则判断一个字符串中是否包含中文或者中文字符 代码实现如下: import java.util.regex.Matcher; import java.util.regex.Pattern; /** ...

  2. [C++]单源最短路径:迪杰斯特拉(Dijkstra)算法(贪心算法)

    1 Dijkstra算法 1.1 算法基本信息 解决问题/提出背景 单源最短路径(在带权有向图中,求从某顶点到其余各顶点的最短路径) 算法思想 贪心算法 按路径长度递增的次序,依次产生最短路径的算法 ...

  3. 使用Android Studio时你应该知道的一切配置和使用Genymotion模拟器运行程序

    参考博客: 配置Android Studio: http://www.cnblogs.com/wi100sh/p/5653427.html Android Studio打包APK: http://bl ...

  4. PHP 调用C# WebService

    在VS2010中新建WebService:Finance.asmx 代码如下: using System.Web.Services; namespace WebTest.WebService { // ...

  5. Spring Aop(三)——Pointcut表达式介绍

    转发地址:https://www.iteye.com/blog/elim-2395255 3 Pointcut表达式介绍 3.1 表达式类型 标准的Aspectj Aop的pointcut的表达式类型 ...

  6. mac Access denied for user 'root'@'localhost' (using password: YES)

    1:苹果->系统偏好设置->最下边点mysql 在弹出页面中 关闭mysql服务 2: Start it in safe mode 进入终端 输入: cd /usr/local/mysql ...

  7. 最新 58集团java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.58集团等10家互联网公司的校招Offer,因为某些自身原因最终选择了58集团.6.7月主要是做系统复习.项目复盘.Leet ...

  8. [CF707D]Persistent Bookcase_主席树_bitset

    Persistent Bookcase 题目链接:http://codeforces.com/contest/707/problem/D 注释:略. 题解: 发现虽然$q\le 10^5$但是网格是$ ...

  9. Docker 镜像的制作

        1.登录docker            docker ecex –it 容器名/容器id /bin/bash        例如:            docker exec –it t ...

  10. opencv实现人脸识别(二) 人脸图像采集模块

    这一步我们开始搭建第一个模块,用来检测到图像中的人脸位置,并将它拍下来保存在指定路径 流程图: 代码实现: import cv2 def pic(cam): # 调用笔记本内置摄像头,所以参数为0,如 ...