java题目该怎么做(java作业帮)

本文目录一览:

这道java题应该怎么做?

Java源代码:

public class Test {

public static void main(String[] args) {

Point p1 = new Point(4, 5);

System.out.printf(“点p坐标为(%f,%f)\n”, p1.getX(), p1.getY());

p1.setX(3);

p1.setY(4);

System.out.printf(“重置后点p坐标为(%f,%f)\n”, p1.getX(), p1.getY());

System.out.printf(“点(%f, %f)到原点的距离的平方为%f\n”, p1.getX(), p1.getY(),

p1.distance());

Point p2 = new Point(1, 2);

System.out.printf(“点(%f,%f)到点(%f,%f)的距离的平方为%f\n”, p1.getX(),

p1.getY(), p2.getX(), p2.getY(), p1.distance(p2));

}

}

class Point {

protected double x;

protected double y;

public Point(){

}

public Point(double x, double y) {

this.x = x;

this.y = y;

}

public void setX(double x) {

this.x = x;

}

public double getX() {

return this.x;

}

public void setY(double y) {

this.y = y;

}

public double getY() {

return this.y;

}

public double distance() {

return Math.pow(x, 2) + Math.pow(y, 2);

}

public double distance(Point p) {

return Math.pow(this.x – p.x, 2) + Math.pow(this.y – p.y, 2);

}

}

运行测试:

java题目,这道题用守护线程怎么做?

守护线程需要将指定线程的setDaemon()置为true,整体代码为:

import java.util.Random;

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

System.out.println(“main线程启动”);

//设置main线程退出监听线程,当maim线程真正结束时,会打印该日志

Runtime.getRuntime().addShutdownHook(new Thread(() – System.out.println(“main开始退出”)));

//设置线程1,死循环,每3秒输出一个随机整数

Thread thread1 = new Thread(() – {

System.out.println(“线程1启动”);

while (true) {

Random random = new Random();

System.out.println(“线程1输出随机整数:[” + random.nextInt(100) + “]”);

try {

Thread.sleep(3 * 1000);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

});

thread1.setDaemon(true);//守护线程1

//设置线程2,监听“Q”命令,收到命令后线程2结束

Thread thread2 = new Thread(() – {

System.out.println(“线程2启动”);

Scanner in = new Scanner(System.in);

String command = “”;

while (!”Q”.equals(command)) {

System.out.println(“线程2等待输入”);

command = in.nextLine();

System.out.println(“线程2输入:[” + command + “]”);

}

System.out.println(“线程2收到终止命令,线程2已结束”);

});

thread1.start();

thread2.start();

System.out.println(“main线程结束,等待子线程结束”);

}

}

关键在于第23行:thread1.setDaemon(true);//守护线程1

我们分析一下我的这段代码,main函数启动后,会先后开始执行线程1和线程2,之后main线程结束,等待所有子线程结束后,main线程即可退出,同时关闭jvm。

我们先看一下如果线程1没有设置为守护线程会咋样,可以看到,线程1是一个死循环,它自己是永远不会主动结束的,线程2则是当输入“Q”命令后,跳出while循环,结束线程2。

运行一下没有守护线程1的情况:

运行后,线程1一直在输出整数,线程2收到“Q”命令后也结束了,但是线程1还是在输出,main线程也无法停止,jvm将一直存在下去。

现在再运行守护线程1的情况:

线程2收到“Q”命令后,线程2结束,此时由于线程1被守护,main线程开始退出,之后,jvm关闭,守护线程1被自动回收。

java题目怎么做

继承就是父类继承子类,关键字extends,继承后子类拥有父类的属性和方法。子类就是继承的类,在类名后有extends关键字。好处:继承可以减少代码的重复性,提高程序的可维护性。单重继承就是只继承一个父类。多重继承就是子类继承两个或更多父类,java的抽象类不可以多重继承,但可以多层继承,多层继承就是父类还有父类。接口可以多重实现(抽象类叫继承,接口叫实现)

2.这种说法是不正确的。因为子类不可以拥有父类的私有域和私有方法。

3.覆盖就是在继承父类的子类里面写一个与父类相同的方法。域的隐藏是指子类里面有两个相同的变量,其中一个继承父类,另一个由自己定义,当子类执行继承父类的操作时,处理的是继承父类的对象,而当子类执行它自己的方法时,所操作的就是它自己定义的变量,而把父类的变量“隐藏”起来。重载是指在同一个类中有相同名称的方法,但它们的返回类型或参数类型或者参数个数不同(简单的说就是同名不同参)。

4.多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作(摘自“Delphi4 编程技术内幕”)。使用多态性的好处:

1).派生类的功能可以被基类的方法或引用变量所调用,这叫向后兼容,可以提高可扩充性和可维护性。

2).应用程序不必为每一个派生类编写功能调用,只需要对抽象基类进行处理即可。大大提高程序的可复用性。

5。。。睡觉了,以后再看吧

0 1 8

更多回答(2)

华清池兵马俑一日游兵马俑+华清宫一…

华清池兵马俑一日游 , 华清池兵马俑一日游 , 赠送自助餐…

电话咨询:兵马俑华清池一日游报价

西安中国国际旅行社..广告

兵马俑一日游 参团赠送中餐+耳麦…

兵马俑一日游 西安到兵马俑一日游 ,兵马俑一日游 ,西安…

中国康辉西安国际旅..广告

为您推荐

java题目怎么做

string a[]= new string[]

浏览38

这些java题怎么做啊???

第一张图:method1方法没有定义返回值类型会报错,method1方法参数m没有定义类型会报错,m

1 浏览29 2017-05-25

java题怎么做

在哪里学的呀,不靠谱嘛!还是到 安徽万工 系统学习下吧!这样能成功就业!

浏览37 2017-11-06

怎么做下面的java题目?

做法如下:

请问这个Java题怎么做?

按照题目要求编写的Java程序如下

import java.util.Scanner;

class RadiusException extends Exception{

public RadiusException(String message){

super(message);

}

}

public class Circle{

public double area(double r) throws RadiusException{

if(r0)

throw new RadiusException(“输入错误”);

else

return Math.PI*r*r;

}

public static void main(String[] args){

System.out.print(“请输入圆的半径r:”);

try{

Scanner sc=new Scanner(System.in);

double r=sc.nextDouble();

Circle c=new Circle();

System.out.println(“圆的面积为”+c.area(r));

sc.close();

}catch(RadiusException re){

System.out.println(re.getMessage());

}

}

}

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/251982.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-13 17:33
下一篇 2024-12-13 17:33

相关推荐

  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • VSCode为什么无法运行Java

    解答:VSCode无法运行Java是因为默认情况下,VSCode并没有集成Java运行环境,需要手动添加Java运行环境或安装相关插件才能实现Java代码的编写、调试和运行。 一、…

    编程 2025-04-29
  • Java任务下发回滚系统的设计与实现

    本文将介绍一个Java任务下发回滚系统的设计与实现。该系统可以用于执行复杂的任务,包括可回滚的任务,及时恢复任务失败前的状态。系统使用Java语言进行开发,可以支持多种类型的任务。…

    编程 2025-04-29
  • Java 8 Group By 会影响排序吗?

    是的,Java 8中的Group By会对排序产生影响。本文将从多个方面探讨Group By对排序的影响。 一、Group By的概述 Group By是SQL中的一种常见操作,它…

    编程 2025-04-29

发表回复

登录后才能评论