java面向对象代码 Java是面向对象的编程语言

Java面向对象编辑

代码如下:

成都创新互联公司是一家专注于网站设计、网站制作与策划设计,芮城网站建设哪家好?成都创新互联公司做网站,专注于网站建设10余年,网设计领域的专业建站公司;建站业务涵盖:芮城等地区。芮城做网站价格咨询:18982081108

abstract class Worker {

protected String name;

public Worker(String name) {

this.name = name;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public abstract void introduce();

}

采用Java语言面向对象思想,编写程序, 七个要求7个代码

public

class

Person

{

//(1)

设计一个类

人员,包含三个成员变量:姓名、年龄、性别。

private

String

name;

private

int

age;

private

String

sex;

public

String

getName()

{

return

name;

}

public

void

setName(String

name)

{

this.name

=

name;

}

public

int

getAge()

{

return

age;

}

public

void

setAge(int

age)

{

this.age

=

age;

}

public

String

getSex()

{

return

sex;

}

public

void

setSex(String

sex)

{

this.sex

=

sex;

}

}

//(2)

设计员工和顾客两个类为

人员类的子类,员工类包含一个成员变量:职称级别;顾客包含一个成员变量:账户余额。

class

worker

extends

Person{

private

String

Title_Level;

public

String

getTitle_Level()

{

return

Title_Level;

}

public

void

setTitle_Level(String

title_Level)

{

Title_Level

=

title_Level;

}

}

class

Customer

extends

Person{

private

int

Account_balance;

public

int

getAccount_balance()

{

return

Account_balance;

}

public

void

setAccount_balance(int

account_balance)

{

Account_balance

=

account_balance;

}

}

//(3)

设计一个类

取款机包含两个成员方法:取款,查询账户。

interface

ATM{

void

Teller(Customer

cus);

void

Checkaccount(Customer

cus);

}

//4)

实现取款机的取款方法,

//当顾客来取钱但是账户余额不足时抛出异常“余额不足”并显示,

//无论取款是否发生异常,最终取款方法需要执行“退卡”操作。

class

ATMimpl

implements

ATM{

public

void

Checkaccount(Customer

cus)

{

}

public

void

Teller(Customer

cus)

{

}

}

Java面向对象程序编程

public static void main(String args[]) {

Scanner scanner = new Scanner(System.in);

System.out.println("请输入一个开始数字:");

int a = 0;

try {

a = scanner.nextInt();

} catch (Exception e) {

System.out.println("输数字不合法");        

return;

}

System.out.println("请输入一个结束数字:");

int b = 0;    

try {

b = scanner.nextInt();

} catch (Exception e) {

System.out.println("输数字不合法");        

return;

}    

int sum = 0;    

if (a  b) {        

for (int i = b; i = a; i++) {

sum = sum + i;

}

} else {      

for (int i = a; i = b; i++) {

sum = sum + i;

}

}

System.out.println(sum);

}

用java采用面向对象思想设计求两点间的距离,求代码

import java.util.Scanner;

public class Demo

{

public static void main(String[] args)

{

Scanner sc=new Scanner(System.in);

Point p1,p2;

System.out.println("请输入第1个点的x、y坐标:");

p1=new Point(sc.nextDouble(),sc.nextDouble());

System.out.println("请输入第2个点的x、y坐标:");

p2=new Point(sc.nextDouble(),sc.nextDouble());

System.out.println("点"+p1+"与点"+p2+"的距离是"+p1.distance(p2));

}

}

class Point

{

Point(double x,double y)

{

this.x=x;

this.y=y;

}

public String toString()

{

return "("+x+","+y+")";

}

double distance(Point p)

{

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

}

private double x,y;

}

java面向对象编程求帮忙

一共三个类:ScoreArray.java、StudentScoreArray.java和Test1.java,具体为:

public class ScoreArray {

private int[] scores;

private int scoreCount;

public int[] getScores() {

return scores;

}

public int getScoreCount() {

return scoreCount;

}

//构造函数

public ScoreArray(int[] scores) {

this.scores = scores;

for (int score : scores) {

if (score = 0 score = 100) {

this.scoreCount++;

}

}

}

//求最大值

public int getMax() {

int[] scores = this.scores;

int temp;

for (int i = 0; i scores.length; i++) {

for (int j = 0; j scores.length - 1 - i; j++) {

if (scores[j] scores[j + 1]) {

temp = scores[j];

scores[j] = scores[j + 1];

scores[j + 1] = temp;

}

}

}

return scores[scores.length - 1];

}

//求最小值

public int getMin() {

int[] scores = this.scores;

int temp;

for (int i = 0; i scores.length; i++) {

for (int j = 0; j scores.length - 1 - i; j++) {

if (scores[j] scores[j + 1]) {

temp = scores[j];

scores[j] = scores[j + 1];

scores[j + 1] = temp;

}

}

}

return scores[0];

}

//求均值

public double getAvg() {

int sum = 0;

for (int score : this.scores) {

sum += score;

}

return new BigDecimal(sum).divide(

new BigDecimal(this.scores.length),

2, BigDecimal.ROUND_HALF_UP).doubleValue();

}

//排序

public void sort() {

int temp;

for (int i = 0; i this.scores.length; i++) {

for (int j = 0; j this.scores.length - 1 - i; j++) {

if (this.scores[j] this.scores[j + 1]) {

temp = this.scores[j];

this.scores[j] = this.scores[j + 1];

this.scores[j + 1] = temp;

}

}

}

}

//静态说明类

public static void explain() {

System.out.println("本类[ScoreArray]实现了数组的:求最值[getMax()]、求均值[getAvg()]和排序[sort()]方法");

}

}

public class StudentScoreArray extends ScoreArray {

public StudentScoreArray(int[] scores) {

super(scores);

}

//统计

public void statistic() {

super.sort();

MapInteger, Integer map = new LinkedHashMap();

for (int i : super.getScores()) {

if (map.containsKey(i)) {

map.put(i, map.get(i) + 1);

} else {

map.put(i, 1);

}

}

map.forEach((k, v) - System.out.println("分数为[" + k + "]的人数为:[" + v + "]"));

}

//静态说明类

public static void explain() {

System.out.println("本类[StudentScoreArray]实现了数组的:求最值[getMax()]、求均值[getAvg()]、排序[sort()]和分布统计[statistic()]方法");

}

}

public class Test1 {

public static void main(String[] args) {

int[] scores = {59, 60, 82, 58, 71, 99, 0, 59, 65};

ScoreArray scoreArray = new ScoreArray(scores);

ScoreArray.explain();

System.out.print("数组内容:[");

for (int i : scoreArray.getScores()) {

System.out.print(i + " ");

}

System.out.println("]");

System.out.println("有效值个数:" + scoreArray.getScoreCount());

System.out.println("最大值:" + scoreArray.getMax());

System.out.println("最小值:" + scoreArray.getMin());

System.out.println("平均值:" + scoreArray.getAvg());

scoreArray.sort();

System.out.print("排序后数组内容:[");

for (int i : scoreArray.getScores()) {

System.out.print(i + " ");

}

System.out.println("]");

System.out.println("");

System.out.println("========华丽的分割线========");

System.out.println("");

StudentScoreArray studentScoreArray = new StudentScoreArray(scores);

StudentScoreArray.explain();

System.out.print("数组内容:[");

for (int i : studentScoreArray.getScores()) {

System.out.print(i + ",");

}

System.out.println("]");

System.out.println("有效值个数:" + studentScoreArray.getScoreCount());

System.out.println("最大值:" + studentScoreArray.getMax());

System.out.println("最小值:" + studentScoreArray.getMin());

System.out.println("平均值:" + studentScoreArray.getAvg());

studentScoreArray.sort();

System.out.print("排序后数组内容:[");

for (int i : studentScoreArray.getScores()) {

System.out.print(i + " ");

}

System.out.println("]");

System.out.println("分数分布统计:");

studentScoreArray.statistic();

}

}

其中对StudentScoreArray类我要特别说明一下:

统计分布情况时,使用了Map,map是一种key-value的数据结构,其有个特点被我所利用:一个map中只能同时存在一个key,所以我以分数为key,以数量为value,遍历分数数组时,如果是第一次遇到这个key(分数),则将其value(数量)置为1;如果已经不是第一次遇见了,则将其value(数量)置为value + 1(数量 + 1)。另外需要遍历这个map实现统计结果的打印,我这里使用了java8以后才支持的Lambda表达式,所以你要运行这个程序必须要使用jdk1.8以上的版本。如果你觉得这样不妥,可以网上再搜一下map的遍历方式。

运行结果:

啊 代码又一坨的的挤在一起了,百度知道这个真是无语,我把几个关键的地方截个图给你康康:

ScoreArray.java

成员变量和构造函数

忘了说了,构造的同时还统计了有效分数(0~100)的数量

求最大值

冒泡排序后取最大值

求最小值

冒泡排序后取最小值

求均值

利用java 的BigDecimal类解决除法运算精度的问题,四舍五入并保留了两位小数

排序

就是冒泡排序,从小到大

静态的文本说明

StudentScoreArray.java:

继承

分数分布统计

注意我说的map那里

静态说明文本

Test1.java:

测试用例都使用的数组:int[] scores = {59, 60, 82, 58, 71, 99, 0, 59, 65};

请用java中面向对象的思想用代码描述如下内容:

把 人 封装成一个类Person,继承这个类 变有了 人应该有的属性

把 家庭成员关系封装一个类Family,继承这个类有了家庭关系的属性

把工作封装成一个接口Jop,继承这个接口实现了工作的方法

由于Person 和 Family 属性都是固定的,即每个人的情况基本都一样所以封装成类

Jop 则是因为 每个人的工作不一样,所有做成接口,究竟是什么样的工作让这个人来实现

这里Person 和 Family需要的属性并不多,所以我统一将他们封装了一个类 Person 实现代码如下:

public class XiaoHong extends Person implements Jop {

public XiaoHong(String name, String sex, String Father, String Mother,

String Son) {

super(name, sex, Father, Mother, Son);

// TODO Auto-generated constructor stub

}

public static void main(String[] args) {

XiaoHong xiaohong = new XiaoHong("小红","女","李雷", "韩梅梅", "讨厌啦!人家还小!");

System.out.println(xiaohong);

xiaohong.work();

}

@Override

public void work() {

System.out.println("我是一个高中生");

}

}

/********************************************************************************/

public class Person {

private String name = "I Don't Know";

private String sex = "I Don't Know";

private String Father = "I Don't Know";

private String Mother = "I Don't Know";

private String Son = "I Don't Know";

public Person(String name, String sex, String myFather, String myMother,

String mySon) {

super();

this.name = name;

this.sex = sex;

this.Father = myFather;

this.Mother = myMother;

this.Son = mySon;

}

public String getName() {

return name;

}

public String getSex() {

return sex;

}

public String getMyFather() {

return Father;

}

public String getMyMother() {

return Mother;

}

public String getMySon() {

return Son;

}

@Override

public String toString() {

return "Person [name=" + name + ", sex=" + sex + ", Father="

+ Father + ", Mother=" + Mother + ", Son=" + Son

+ "]";

}

}

/******************************************************************************/

public interface Jop {

public void work();

}


分享名称:java面向对象代码 Java是面向对象的编程语言
分享链接:http://ybzwz.com/article/doodeji.html