Java语言程序设计与数据结构(基础篇)课后练习题 第九章

文章展示了Java编程中的日期处理(如Date和GregorianCalendar)、随机数生成(Random)、计时器(StopWatch)以及银行账户类(Account)的实例,还提到了Java开发者的学习资源,包括面试题和全套学习资料
摘要由CSDN通过智能技术生成

public static void main(String[] args) {

// TODO Auto-generated method stub

long seconds = 10000;

for(int i=0;i<8;i++){

java.util.Date date = new java.util.Date(seconds);

System.out.println(date.toString());

seconds *= 10;

}

}

}

9.4

================================================================

package demo;

public class dijiuzhang {

public static void main(String[] args) {

// TODO Auto-generated method stub

java.util.Random random = new java.util.Random(1000);

for(int i=0;i<50;i++)

System.out.print(random.nextInt(100)+" ");

}

}

9.5

================================================================

package demo;

import java.util.GregorianCalendar;

public class dijiuzhang {

public static void main(String[] args) {

// TODO Auto-generated method stub

GregorianCalendar g = new GregorianCalendar();

System.out.println(g.get(GregorianCalendar.YEAR)+“/”+g.get(GregorianCalendar.MONTH)+“/”+g.get(GregorianCalendar.DAY_OF_MONTH));

g.setTimeInMillis(1234567898765L);

System.out.println(g.get(GregorianCalendar.YEAR)+“/”+g.get(GregorianCalendar.MONTH)+“/”+g.get(GregorianCalendar.DAY_OF_MONTH));

}

}

9.6

================================================================

package demo;

public class dijiuzhang {

public static void main(String[] args) {

// TODO Auto-generated method stub

StopWatch time = new StopWatch();

int[] array = new int[100000];

for (int i = 0; i < 100000; i++) {

array[i] = (int) (Math.random() * 1000000);

}

time.start();

for (int i = 0; i < array.length - 1; i++) {

int currentMin = array[i];

int currentMinIndex = i;

for (int j = i + 1; j < array.length; j++) {

if (currentMin > array[j]) {

currentMin = array[j];

currentMinIndex = j;

}

}

if (currentMinIndex != i) {

array[currentMinIndex] = array[i];

array[i] = currentMin;

}

}

time.stop();

System.out.println("timeMill: "+time.getElapsedTime()); //这里生成的是毫秒。

}

}

class StopWatch{

private long startTime;

private long endTime;

StopWatch(){

this.startTime = System.currentTimeMillis();

}

public void start(){

this.startTime = System.currentTimeMillis();

}

public void stop(){

this.endTime = System.currentTimeMillis();

}

public long getElapsedTime(){

return this.endTime-this.startTime;

}

}

9.7

================================================================

package demo;

import java.util.Date;

public class dijiuzhang {

public static void main(String[] args) {

// TODO Auto-generated method stub

Account s = new Account(1122,2000);

s.setAnnualInterestRate(4.5/100);

s.withDraw(2500);

s.deposit(3000);

System.out.println("Balance: "+s.getBalance());

System.out.println("Monthly Interest: "+s.getMonthlyInterest());

System.out.println("Register Date: "+s.getDateCreated().toString());

}

}

class Account{

private int id;

private double balance;

private double annualInterestRate;

private Date dateCreated;

public Account(){

id=0;

balance=0;

annualInterestRate=0;

dateCreated=new Date();

}

public Account(int di,double b){

id=di;

balance=b;

annualInterestRate=0;

dateCreated=new Date();

}

public int getId(){

return id;

}

public void setId(int j){

id=j;

}

public double getBalance(){

return balance;

}

public void setBalance(double j){

balance=j;

}

public double getAnnualInterestRate(){

return annualInterestRate;

}

public void setAnnualInterestRate(double j){

annualInterestRate=j;

}

public Date getDateCreated(){

return dateCreated;

}

public double getMonthlyInterestRate(){

return annualInterestRate/12;

}

public double getMonthlyInterest(){

return annualInterestRate/12*balance;

}

public void withDraw(double m){

balance -= m;

}

public void deposit(double m){

balance += m;

}

}

9.8

================================================================

package demo;

public class dijiuzhang {

public static void main(String[] args) {

// TODO Auto-generated method stub

Fan fan1 = new Fan();

fan1.setSpeed(Fan.FAST);

fan1.setRadius(10);

fan1.setColor(“yellow”);

fan1.setOn(true);

Fan fan2 = new Fan();

fan2.setSpeed(Fan.MEDIUM);

System.out.println(fan1.toString());

System.out.println(fan2.toString());

}

}

class Fan{

final static int SLOW=1;

final static int MEDIUM=2;

final static int FAST=3;

private int speed = SLOW;

private boolean on = false;

private double radius = 5;

private String color=“blue”;

public int getSpeed(){

return speed;

}

public void setSpeed(int s){

speed=s;

}

public boolean getOn(){

return on;

}

public void setOn(boolean j){

on=j;

}

public double getRadius(){

return radius;

}

public void setRadius(double r){

radius=r;

}

public String getColor(){

return color;

}

public void setColor(String s){

color=s;

}

public Fan(){

speed=SLOW;

on=false;

radius=5;

color=“blue”;

}

public String toString(){

String r=“”;

if(this.on)

r=r+speed+" “+color+” "+radius;

else

r=r+"fan is off “+color+” "+radius;

return r;

}

}

9.9

================================================================

package demo;

public class dijiuzhang {

public static void main(String[] args) {

// TODO Auto-generated method stub

RegularPolygon p = new RegularPolygon();

RegularPolygon p2 = new RegularPolygon(6,4);

RegularPolygon p3 = new RegularPolygon(10,4,5.6,7.8);

System.out.println(p.getPerimeter()+" "+p.getArea());

System.out.println(p2.getPerimeter()+" "+p2.getArea());

System.out.println(p3.getPerimeter()+" "+p3.getArea());

}

}

class RegularPolygon{

private int n=3;

private double side=1;

private double x=0;

private double y=0;

public RegularPolygon(){

n=3;

side=1;

}

public RegularPolygon(int num,double len){

n=num;

side=len;

}

public RegularPolygon(int hum,double len,double x,double y){

n=hum;

side=len;

x=x;

y=y;

}

public void setN(int n){

n=n;

}

public int getN(){

return n;

}

public void setSide(double s){

side=s;

}

public double getSide(){

return side;

}

public void setX(double x){

x=x;

}

public double getX(){

return x;

}

public void setY(double y){

y=y;

}

public double getY(){

return y;

}

public double getPerimeter(){

return n*side;

}

public double getArea(){

return nsideside/(4*Math.tan(Math.PI/n));

}

}

9.10

=================================================================

package demo;

import java.util.Scanner;

public class dijiuzhang {

public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner input = new Scanner(System.in);

System.out.print("Enter a b c: ");

double a = input.nextDouble();

double b = input.nextDouble();

double c = input.nextDouble();

QuadraticEquation r = new QuadraticEquation(a,b,c);

if(r.getDiscriminant()<0)

System.out.println(“The equation has no roots.”);

else if(r.getDiscriminant()==0)

System.out.println("One root "+r.getRoot1());

else

System.out.println("Two roots “+r.getRoot1()+” "+r.getRoot2());

}

}

class QuadraticEquation{

private double a;

private double b;

private double c;

public QuadraticEquation(double a1,double b1,double c1){

a=a1;

b=b1;

c=c1;

}

public double getA(){

return a;

}

public double getB(){

return b;

}

public double getC(){

return c;

}

public double getDiscriminant(){

return bb-4a*c;

}

public double getRoot1(){

return (-1b+Math.sqrt(bb-4ac))/(2*a);

}

public double getRoot2(){

return (-1b-Math.sqrt(bb-4ac))/(2*a);

}

}

9.11

=================================================================

package demo;

import java.util.Scanner;

public class dijiuzhang {

public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.print("Enter a b c d e f: ");

Scanner input = new Scanner(System.in);

double a = input.nextDouble();

double b = input.nextDouble();

double c = input.nextDouble();

double d = input.nextDouble();

double e = input.nextDouble();

double f = input.nextDouble();

LinearEquation r = new LinearEquation(a,b,c,d,e,f);

if(r.isSolvable())

System.out.println(r.getX()+" "+r.getY());

else

System.out.println(“The equation has no solutions.”);

}

}

class LinearEquation{

private double a,b,c,d,e,f;

public LinearEquation(double a1,double b1,double c1,double d1,double e1,double f1){

a=a1;

b=b1;

c=c1;

d=d1;

e=e1;

f=f1;

}

public double getA(){

return a;

}

public double getB(){

return b;

}

public double getC(){

return c;

}

public double getD(){

return d;

}

public double getE(){

return e;

}

public double getF(){

return f;

}

public boolean isSolvable(){

return ad-bc!=0;

}

public double getX(){

return (ed-bf)/(ad-bc);

}

public double getY(){

return (af-ec)/(ad-bc);

}

}

9.12

=================================================================

package demo;

import java.util.Scanner;

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

总结

在清楚了各个大厂的面试重点之后,就能很好的提高你刷题以及面试准备的效率,接下来小编也为大家准备了最新的互联网大厂资料。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。[外链图片转存中…(img-cr4hHhiU-1713175588711)]

[外链图片转存中…(img-9YHCh08B-1713175588711)]

[外链图片转存中…(img-6YQZQlR3-1713175588712)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

总结

在清楚了各个大厂的面试重点之后,就能很好的提高你刷题以及面试准备的效率,接下来小编也为大家准备了最新的互联网大厂资料。

[外链图片转存中…(img-3HL810sI-1713175588712)]

[外链图片转存中…(img-fD30CO0D-1713175588712)]

[外链图片转存中…(img-z5WXNPLA-1713175588712)]

[外链图片转存中…(img-DszoqJmL-1713175588713)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值