文档库 最新最全的文档下载
当前位置:文档库 › JAVA高级练习题

JAVA高级练习题

JAVA高级练习题
JAVA高级练习题

1、编写一个程序,实现从命令行参数输入两个字符串类型的数值,并计算输出两个数值的

和。

2、编写一个程序,实现从命令行参数输入一字符串,统计该字符串中字符“e”出现的次数。

package zuoye;

/**

* 输出e的出现次数

*/

import java.util.Scanner;

public class Test2 {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

String str=input.next();

int count=0;

for (int i = 0; i < str.length(); i++)

{

if(str.charAt(i)=='e')

{

count++;

}

}

System.out.println("e的出现次数是:"+count);

}

}

3、生成十个0~100之间的随机数,放到数组中,然后排序输出。

package zuoye;

import java.util.Arrays;

/**

* 生成十个0~100之间的随机数,放到数组中,然后排序输出

* @author Administrator

*

*/

public class Test3 {

public static void main(String[] args) {

int arr[]=new int[10];//定义一个长度为10的int数组

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

arr[i]=(int) (Math.random()*100);//取0~1的随机数*100,即为0~100的随机数}

Arrays.sort(arr);//排序方法

for(int a:arr)//增强for循环

{

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

}

}

}

4、巴黎时间比北京时间晚7个小时,纽约时间比北京时间晚12个小时,试编写一程序,根据输入的北京时间输出相应的巴黎和纽约时间。

package zuoye;

import java.util.Calendar;

import java.util.Date;

public class Test4 {

public void getTime(int y,int m,int d,int h,int mi,int s){

//获取Calendar实例

Calendar time = Calendar.getInstance();

//设置巴黎时间

time.set(y,m,d,h-7,mi,s);

//输出巴黎时间

System.out.println("巴黎时间是"+time.get(Calendar.YEAR)+"年"+

((time.get(Calendar.MONTH)))+"月"+

time.get(Calendar.DAY_OF_MONTH)+"日"+

time.get(Calendar.HOUR_OF_DAY)+"时"+

time.get(Calendar.MINUTE)+"分"+

time.get(Calendar.SECOND)+"秒");

//设置纽约时间

time.set(y,m,d,h-12,mi);

//输出纽约时间

System.out.println("纽约时间是"+time.get(Calendar.YEAR)+"年"+

((time.get(Calendar.MONTH)))+"月"+

time.get(Calendar.DAY_OF_MONTH)+"日"+

time.get(Calendar.HOUR_OF_DAY)+"时"+

time.get(Calendar.MINUTE)+"分"+

time.get(Calendar.SECOND)+"秒");

}

public static void main(String[] args) {

Test4 time = new Test4();

//设置北京时间

time.getTime(2018,3,15,16,53,9);

}

}

5、解析一个邮箱地址是否合法,如果合法则打印出用户名部分和该邮箱所属的网站域名

如果邮箱地址不合法则显示不合法的原因

提示:邮箱地址不合法的因素:

1)邮箱地址中不包含@或。

2)邮箱地址中含有多了@或。

3)邮箱地址中。出现在@的前面

4)用户名里有其他字符

实现步骤:

(1) 创建一个类,类名:mailtest

类图如下:

(类名和方法名必须与要求一样。区分大小写)

package youxiang;

import java.util.Scanner;

public class MailTest {

public static boolean testMail(){

Scanner input = new Scanner(System.in);

String s = input.next();

if(s.indexOf("@")==-1||s.indexOf(".")==-1)

{

System.out.println("邮箱地址中不包含@或.");

return false;

}

if(s.indexOf("@")!=https://www.wendangku.net/doc/0f12131186.html,stIndexOf("@")||s.indexOf(".")!=https://www.wendangku.net/doc/0f12131186.html,stIndexOf("."))

{

System.out.println("邮箱地址中含有多余的@或.");

return false;

}

if(s.indexOf("@")>https://www.wendangku.net/doc/0f12131186.html,stIndexOf("."))

{

System.out.println("邮箱地址中.出现在@的前面");

return false;

}

for(int i=0;i

{

if( (s.charAt(i)>='a'&&s.charAt(i)<='z')||(s.charAt(i)>='A'&&s.charAt(i)<='Z'))

{

}else

{

System.out.println("用户名里有其他字符");

return false;

}

}

return true;

}

}

package youxiang;

public class Test {

public static void main(String[] args) {

// TODO Auto-generated method stub

if(MailTest.testMail()){

System.out.println("邮箱格式合法");

}else{

System.out.println("邮箱格式不合法");

}

}

}

6、分别在控制台输入字符串和子字符串,并计算字符串中子字符串出现的次数。package zuoye;

import java.util.Scanner;

/**

* 控制台输入一段字符串,再查询一段子字符串出现的次数

*

*/

public class Test6 {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

String a = input.next();

String b = input.next();

int count = 0;//计数器

for(int i = 0;i

{

if(a.indexOf(b, i)!=-1)

{

count++;

}

}

System.out.println(count);

}

}

集合类

1、请使用LinkedList来模拟一个队列(先进先出的特性):

1) 拥有放入对象的方法void put(Object o)

2) 取出对象的方法Object get()

3) 判断队列当中是否为空的方法boolean isEmpty();并且,编写测试代码,验证你的

队列是否正确。

public class Linkeds {

List l;

Linkeds(){

l=new LinkedList();

}

public void put(Object o){

l.add(o);

}

public Object get(){

Object o= l.get(0);

l.remove(0);

return o;

}

public boolean isEmpty(){

if(l.isEmpty()){

return true;

}

return false;

}

public static void main(String[] args){

//定义一个空队列

Linkeds l = new Linkeds();

//往队列中放入对象

l.put("Tom1");

l.put("John2");

l.put("Mary3");

//如果队列不为空,依次输出队列中的元素

while(!l.isEmpty()){

System.out.println(l.get());

}

}

}

2、假设顺序列表ArrayList中存储的元素是整型数字1~5,遍历每个元素,将每个元素顺序输出。

package zuoye;

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

public class Test1 {

public static void main(String[] args) {

List list=new ArrayList<>();

Number n1=new Number(1);

Number n2=new Number(2);

Number n3=new Number(3);

Number n4=new Number(4);

Number n5=new Number(5);

list.add(n1);

list.add(n2);

list.add(n3);

list.add(n4);

list.add(n5);

Iterator it=list.iterator();

while(it.hasNext())

{

System.out.print(it.next());

}

}

}

3、在一个列表中存储以下元素:apple,grape,banana,pear 1)返回集合中的最大的和最小的元素

2)将集合进行排序,并将排序后的结果打印在控制台上package zuoye;

public class Fruit {

private String fruit;

public Fruit()

{

}

public Fruit(String fruit)

{

this.fruit=fruit;

}

public String getFruit() {

return fruit;

}

public void setFruit(String fruit) {

this.fruit = fruit;

}

}

package zuoye;

import java.util.Arrays;

import java.util.Collections;

import java.util.List;

public class FruitTest {

public static void main(String[] args) {

List fruit = Arrays.asList("apple grade banana pear".split(" "));

System.out.println("最大值是:" + Collections.max(fruit));

System.out.println("最小值是:" + Collections.min(fruit));

}

}

4、编写一个程序,创建一个 HashMap对象,用于存储银行储户的信息(其中储户的主要信息有储户的ID,姓名和余额)。另外,计算并显示其中某个储户的当前余额。

package zuoye;

public class Bank {

private String id;

private String name;

private double money;

public Bank()

{

}

public Bank(String id,String name,double money)

{

this.id=id;

https://www.wendangku.net/doc/0f12131186.html,=name;

this.money=money;

}

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

https://www.wendangku.net/doc/0f12131186.html, = name;

}

public double getMoney() {

return money;

}

public void setMoney(double money) {

this.money = money;

}

}

package zuoye;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Set;

public class BankTest {

public static void main(String[] args) {

Map map=new HashMap();

map.put("用户1", new Bank("1","张三",Math.random()*100000));

map.put("用户2", new Bank("2","李四",Math.random()*100000));

map.put("用户3", new Bank("3","王五",Math.random()*100000));

map.put("用户4", new Bank("4","赵六",Math.random()*100000));

Set keySet=map.keySet();

Iterator it = keySet.iterator();

double sum = 0;

while(it.hasNext()){

Object key = it.next();

Bank a = map.get(key);

System.out.println("账户"+a.getId()+"的余额:"+a.getMoney());

//计算所有帐户的余额之和

sum += a.getMoney();

}

System.out.println("所有账户余额:"+sum);

}

}

5、从控制台输入若干个单词(输入回车结束)放入集合中,将这些单词排序后(忽略大小写)打印出来。

package zuoye;

import java.util.ArrayList;

import java.util.List;

import java.util.Scanner;

public class Test5 {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

List list = new ArrayList();

String str = input.nextLine();

String[] arr = str.split(" ");

String tmp;

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

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

if (arr[i].compareToIgnoreCase(arr[j]) > 0) {

str = arr[j];

arr[j] = arr[j + 1];

arr[j + 1] = str;

}

}

}

for (String a : arr) {

list.add(a);

System.out.println(a);

}

}

}

IO流

1、在本机的磁盘系统中,找一个文件夹,利用File类的提供方法,列出该文件夹中的所有文件的文件名和文件的路径,执行效果如下:

-

路径名:c:\temp\def.txt

package作业;

import java.io.File;

public class Test1 {

public static void main(String[] args) {

File file = new File("E:\\新建文件夹");

String[] files = file.list();

for (String o : files) {

System.out.println("文件名:" + o);

System.out.println("路径:" + file.getAbsolutePath() + "\\" + o);

System.out.println("--------------------------------------");

}

}

}

2、编写一个java程序实现文件复制功能,要求将d:/io/copysrc.doc中的内容复制到d:/io/copydes.doc中。

package 作业;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

/**

* 文件的拷贝

*/

public class Test2 {

public static void main(String[] args) {

File file = new File("file\\abc.txt");

File file_back = new File("file\\abc_back.txt");

try (FileInputStream fi = new FileInputStream(file); FileOutputStream fo = new FileOutputStream(file_back);) {

int b = -1;

while ((b = fi.read()) != -1) {

fo.write(b);

}

} catch (Exception e) {

e.printStackTrace();

}

System.out.println("拷貝成功!");

}

}

3、创建c:/test.txt文件并在其中输入"hello world"

创建一个输入流读取该文件中的文本

并且把小写的l变成大写L再利用输出流写入到d:\test.txt中

实现步骤:1.在本地硬盘C盘下创建一个文件test.txt

2.创建一个包含main()方法的类,并在main中编写代码

3.运行代码并且测试结果

实现过滤器的功能

效果显示:

package 作业;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

/**

* 替换文件中的小写字母l为大写字母L

*/

public class Test3 {

public static void main(String[] args) {

FileReader f;

String s = "";

BufferedReader br = null;

try {

f = new FileReader("F:\\test.txt");

br = new BufferedReader(f);

s = br.readLine();

System.out.println("源文件" + s);

s = s.replace("l", "L");

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} finally {

try {

br.close();

} catch (IOException e) {

e.printStackTrace();

}

}

BufferedWriter bw = null;

System.out.println(s);

try {

FileWriter fw = new FileWriter("F:\\test.txt");

bw = new BufferedWriter(fw);

bw.write(s);

} catch (IOException e) {

e.printStackTrace();

} finally {

try {

bw.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

4、在程序中创建一个Student类型的对象,并把对象信息保存到d:/io/student.txt文件中,然后再从文件中把Student对象的信息读出显示在控制台上,Student类的描述如下:

package作业;

import java.util.Date;

public class Student {

private int id;

private String name;

private Date birth;

public Student() {

super();

}

public Student(int id, String name, Date birth) {

super();

this.id = id;

https://www.wendangku.net/doc/0f12131186.html, = name;

this.birth = birth;

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

https://www.wendangku.net/doc/0f12131186.html, = name;

}

public Date getBirth() {

return birth;

}

public void setBirth(Date birth) {

this.birth = birth;

}

@Override

public String toString() {

return"Student [id=" + id + ", name=" + name + ", birth=" + birth + "]";

}

}

public class SerializationExercise {

public static void main(String args[]){

Student s1 = new Student("1","zhangsan","1999-11-11");

try {

FileOutputStream fos = new FileOutputStream("d:\\io\\student.txt");

ObjectOutputStream oos = new ObjectOutputStream(fos);

System.out.println("对象序列化...");

oos.writeObject(s1);

oos.flush();

oos.close();

} catch (FileNotFoundException e1) {

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

} catch (IOException e2) {

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

}

try {

FileInputStream fis = new FileInputStream("d:\\io\\student.txt");

ObjectInputStream ois = new ObjectInputStream(fis);

System.out.println("反序列化...");

Student ss1 = (Student)ois.readObject();

System.out.println(ss1);

ois.close();

} catch (FileNotFoundException e) {

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

} catch (IOException e) {

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

} catch (ClassNotFoundException e) {

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

}

}

}

多线程

1、利用Thread实现,要求多线程求解某范围素数每个线程负责1000范围:线程1找1-1000;线程 2 找 1001-2000;线程 3 找2001-3000。编程程序将每个线程找到的素数及时打印。

package找素数;

public class Number {

private int num;

public Number() {

super();

}

public Number(int num) {

super();

this.num = num;

}

public int getNum() {

return num;

}

public void setNum(int num) {

this.num = num;

}

public synchronized void checkNum(int num) {

if (num == 1000) {

for (int n = 2; n <= num; n++) {

boolean b = true;

if (n != 1) {

for (int i = 2; i < n; i++) {

if (n % i == 0) {

b = false;

break;

}

}

}

if (b) {

System.out.println(n + "是质数");

}

}

}

if (num == 2000) {

for (int n = 1001; n <= num; n++) {

boolean b = true;

if (n != 1) {

for (int i = 2; i < n; i++) {

if (n % i == 0) {

b = false;

break;

}

}

}

if (b) {

System.out.println(n + "是质数");

}

}

}

if (num == 3000) {

for (int n = 2001; n <= num; n++) {

boolean b = true;

if (n != 1) {

for (int i = 2; i < n; i++) {

if (n % i == 0) {

b = false;

break;

}

}

}

if (b) {

System.out.println(n + "是质数");

}

}

}

}

}

package找素数;

//public class Numbers1 implements Runnable public class Numbers1 extends Thread {

private Number num;

public Numbers1(Number num) {

this.num=num;

}

public void run() {

num.checkNum(1000);

}

}

package找素数;

//public class Numbers1 implements Runnable public class Numbers2 extends Thread {

private Number num;

public Numbers2(Number num) {

this.num=num;

}

public void run() {

num.checkNum(2000);

}

}

package找素数;

//public class Numbers1 implements Runnable public class Numbers3 extends Thread { private Number num;

public Numbers3(Number num) {

this.num=num;

}

public void run() {

num.checkNum(3000);

}

}

package找素数;

public class Test {

public static void main(String[] args) {

Number num=new Number();

Numbers1 n1=new Numbers1(num);

Thread t1=new Thread(n1);

t1.setName("1~1000:");

t1.start();

Numbers2 n2=new Numbers2(num);

Thread t2=new Thread(n2);

t2.setName("1001~2000:");

t2.start();

Numbers3 n3=new Numbers3(num);

Thread t3=new Thread(n3);

t3.setName("2001~3000");

t3.start();

}

}

2、利用Runnable实现,要求多线程求解某范围素数每个线程负责1000范围:线程1找1-1000;线程 2 找 1001-2000;线程 3 找2001-3000。编程程序将每个线程找到的素数及时打印。

与第一题相同,不再贴出代码,第一题注释即为修改处。

3、编写一个Java程序(包括一个主程序类,一个线程类。在主程序类中创建2个线程,将

其中一个线程的优先级设为10,另一个线程的优先级设为6。让优先级为10的线程打印200次“线程1正在运行”,优先级为6的线程打印200次“线程2正在运行”。

package优先级;

public class Main {

private int num;

public int getNum() {

return num;

}

public void setNum(int num) {

this.num = num;

}

public Main() {

super();

}

public Main(int num) {

super();

this.num = num;

}

public void dayin(int num){

for(int i=0;i

}

}

package优先级;

public class Xiancheng1 implements Runnable {

private Main num;

public Xiancheng1() {

super();

}

public Xiancheng1(Main num) {

this.num = num;

Java练习题及答案

Java 练习题答案 一、填空 1、对象的状态和行为是对象的主要属性;前者对应类的变 量,行为又称为对象的操作,对应着类的方法。类的定义包括变量声明和方法声明。 2、要嵌入在HTML文件中运行的程序是Java Applet (Java Application 、Java Applet )。 3、安装JDK后,Java 开发工具在Bin 目录。 4、声明接口的保留字是interface 。 5、类的声明“ public class Test extends Applet implements Runable{} ” 中,定义的类名是Test ,其父类是Applet ;实现了Runable 接口。这个类的源程序必须保存为Test.java (写出包括扩展名的文件名)。 6、一个完整的Java 应用程序由一个或多个类组成;其中Java Application 至少有一个主类,这个类中包含一个名为main 的方法 7、JDK下解释执行Java 的程序是java.exe 。 8、语句如下: int[] c1=int[10]; int[] c2={1,2,3,4,5,6,7,8,9,0}; 数组c1 中的元素有10 个;c2 中的元素有10 个; 已初始化赋 值的是c2 (c1 c2 )。 9、执行完下列程序后i 的值为5

int i=0; while(i<5) { i++; 10、运行下列程序段后,结果 c 的取值为120 int a = 100, b = 20,c; char oper ='+'; switch(oper) { case '+': c = a+b; break; case '-': c = a - b; break; default: c = a * b; break; } 11、为了能使用Java 中已提供的类,我们需要用import 语句来引入所需要的类。语句import java.io.* ;中引入了java.io 包的所有类。 二、选择题 1、属于访问控制的关键字是( D )。 A、static B 、final C、abstract D 、private 2、对成员的访问控制保护最强的是(C ) A、public 、 B、缺省、 C private D protected 3、可用做Java 标识符的是( B )。 A、try B_isYour C 2time D my name

JAVA类和对象的关系

1、JAVA中的参数传递问题(理解内存图) 基本类型:形式参数的改变对实际参数没有影响 引用类型:形式参数的改变直接影响实际参数 2、面向对象(理解,升就业班问说说什么是面向对象和思想特点) 1、面向对象(从三点回答) A面向过程是以函数为基础,完成各种操作,强调的是过程 B面向对象以对象为基础,完成各种操作,强调的是对象,结果 C面向对象是基于面向过程的 2、面向对象的思想特点: a)是一种更符合人们思考习惯的思想 b)把复杂的事情简单化 c)把我们从执行者变成了指挥者 3、举例: a)买电脑 b)洗衣做饭 c)旅游 d)把大象装进冰箱(伪代码体现) 4、事物是如何体现的 a)属性有哪些特征名词提取法 b)行为有哪些功能 5、类与对象的关系(掌握) 把事物转换成类 A:成员变量 定义在类中,方法外 B:成员方法 和以前的区别是去掉static 把这个说完还没有说道类与对象的概念,对不对 类:是相关的属性和行为的集合,集合就是一堆东西,是一个抽象的概念 对象:是某种事物的具体的存在,具体的表现形式 举例: 学生:类 对象:小明 6、案例 A学生类 B手机类 C汽车类(在这里画了内存图,有空看一下) 7、如何使用呢 a)创建对象 i.格式 a)类名变量= new 类名() b)使用成员变量和成员方法

i.对象名.成员变量 ii.对象名.成员方法 8、成员变量和局部变量的区别(理解) A 定义位置 成员变量:在类中方法外 局部变量,在类中方法中,或者方法上的形式参数 B 初始化的区别 成员变量:有默认的初始化值 局部变量:无 C 存储位置 成员变量:堆随着对象的存在而存在 局部变量:栈随着方法的存在而存在 9、匿名对象 a)概念:没有名字的对象 b)使用场景 i.当对象中的方法只掉用一次的情况下使用(一般不用,测试时使用)new Student().sayHello(); ii.匿名对象作为实际参数传递

Java经典试题

1. public class ReturnIt{ returnType methodA(byte x, double y){ //line 2 return (short)x/y*2; } } what is valid returnType for methodA in line 2? 答案:返回double类型,因为(short)x将byte类型强制转换为short类型,与double类型运算,将会提升为double类型. 2. 1) class Super{ 2) public float getNum(){return 3.0f;} 3) } 4) 5) public class Sub extends Super{ 6) 7) } which method, placed at line 6, will cause a compiler error? A. public float getNum(){return 4.0f;} B. public void getNum(){} C. public void getNum(double d){} D. public double getNum(float d){return 4.0d;} Answer:B A属于方法的重写(重写只存在于继承关系中),因为修饰符和参数列表都一样.B出现编译错误,如下: Sub.java:6: Sub 中的getNum() 无法覆盖Super 中的getNum();正在尝试使用不 兼容的返回类型 找到:void 需要:float public void getNum(){} ^ 1 错误 B既不是重写也不是重载,重写需要一样的返回值类型和参数列表,访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private); 重载:必须具有不同的参数列表; 可以有不同的返回类型,只要参数列表不同就可以了; 可以有不同的访问修饰符; 把其看做是重载,那么在java中是不能以返回值来区分重载方法的,所以b不对. 3. public class IfTest{ public static void main(String args[]){ int x=3;

c#与Java面向对象练习经典题

1、设计一个包含多个构造函数的类,并分别用这些构造函数实例化对象。 2、编写一个类Calculate1,实现加、减两种运算,然后,编写另一个派生类Calculate2,实现乘、除两种运算。 3、建立三个类:居民、成人、官员。居民包含身份证号、姓名、出生日期,而成人继承自居民,多包含学历、职业两项数据;官员则继承自成人,多包含党派、职务两项数据。要求每个类的字段都以属性的方式对外提供数据输入输出的功能。 4、编写一个静态类,其中包含一个排序的方法Sort(),当传入的是一串整数,就按照从小到大的顺序输出,如果传入的是一个字符串,就将字符串反序输出。 5. 编写一个控制台应用程序,定义一个类MyClass,类中包含有public、private以及protected数据成员及方法。然后定义一个从MyClass类继承的类MyMain,将Main方法放在MyMain中,在Main方法中创建MyClass类的一个对象,并分别访问类中的数据成员及方法。要求注明在试图访问所有类成员时哪些语句会产生编译错误。 7.创建一个类包含有protected数据。在相同的文件里创建第二个类,用一个方法操纵第一个类里的protected数据 9 编写一个控制台应用程序,完成下列功能,并回答提出的问题。 1) 创建一个类A,在构造函数中输出“A”,再创建一个类B,在构造函数中输出“B”。 2) 从A继承一个名为C的新类,并在C内创建一个成员变量B。不要为C创建构造函数。 3) 在Main方法中创建类C的一个对象,写出运行程序后输出的结果。 4) 如果在C中也创建一个构造函数输出“C”,整个程序运行的结果又是什么? 10 编写一个控制台应用程序,完成下列功能,并写出运行程序后输出的结果。 1) 创建一个类A,在A中编写一个可以被重写的带int类型参数的方法MyMethod,并在该方法中输出传递的整型值加10后的结果。 2) 再创建一个类B,使其继承自类A,然后重写A中的MyMethod方法,将A中接收的整型值加50,并输出结果。 3) 在Main方法中分别创建类A和类B的对象,并分别调用MyMethod方法。 11. 创建一个类,它存储一个int数据成员MyNumber,并给该数据成员创建属性,当该数据成员被存储时,将其乘以100;当其被读取时,将其除以100。 12. 定义一个车辆(Vehicle)基类,具有Run、Stop等方法,具有Speed(速度)、MaxSpeed (最大速度)、Weight(重量)等字段。然后以该类为基类,派生出bicycle、car等类。并编程对该派生类的功能进行验证。 13.设计一个立方体类Box,它能计算并输出立方体的体积和表面积。

Java复习习题答案

P13 2.参照例1-2编写一个java applet程序,程序能在浏览器中显示“你好,Hello”。(见p11例1-2) P24 2.参照2-4编写一个java应用程序,用户从键盘只能输入整数,程序输出这些整数的乘积。 import java.util.*; public class ZuoYe2_2{ public static void main (String args[ ]){ Scanner reader=new Scanner(System.in); long chengji=1; int m=0; while(reader.hasNextInt()){ int x=reader.nextInt(); m=m+1; chengji=chengji*x; } System.out.println(m+"个数的乘积为"+chengji); } } P41 1.有一个函数Y=-1+2x,x<0;-1,x=0;-1+3x,x>0编写一个java应用程序,从键盘输入一个X值,程序输出Y值。import java.util.*; public class ZuoYe3_1{ public static void main (String args[ ]){ Scanner reader=new Scanner(System.in); double y=0,x=0; x=reader.nextDouble(); if(x<0) y=-1+2*x; else if(x==0) y=-1; else if(x>0) y=-1+3*x; System.out.println(y); } } P41 2.编写一个java程序,使用while循环计算1-1000之间能被3和7同时整除的整数之和。 public class ZuoYe3_2{ public static void main(String args[]){ int sum=0,m=3,n=7,a=1; while(a<=1000){ if(a%m==0&&a%n==0) sum=sum+a; a++; } System.out.println("sum="+sum); } } P41 3.编写一个java程序,使用for循环计算8+88+888+8888+88888…的前十项和。 public class ZuoYe3_3{ public static void main(String args[]) { long sum=0,a=8,item=a,n=10,i=1; for(i=1;i<=n;i++)

JAVA基础-第3章类与对象-练习题-200910

第3章类与对象 一.选择题 1.下列不属于面向对象编程的特性是(D)。 A.封装性 B. 继承性 C. 多态性 D. 编译执行 2.下列类的声明中不合法的是(C)。 A. class People{…} B. class 植物{…} C. Class A{…} D. public class 共有类{… 3.下列方法的声明中不合法的是(C)。 A. float area(){…} B. void area(){…} C. double area(d){…} D. int area(int r){…} 4. 下列构造方法(构造器)的调用中正确的是(C)。 A. 按照一般的方法调用 B. 由用户直接调用 C. 只能通过new自动调用 D. 被系统调用 5.下列程序运行的结果是(A)。 class Book{ int width; int length; } public class A{ static void f(Book p){ p.width=20; p.length=40; } public static void main(String args[]){ Book b=new Book(); b.width=10; b.length=20; f(b); System.out.print(" "+b.width); System.out.print(" "+b.length); } } A. 20 40 B. 10 40 C. 10 20 D. 以上都不对 6.下列程序运行的结果是(D)。 public class A{ static void f(int y){ y=y+10; } public static void main(String args[]){ double x=10; f(x); System.out.println(x); } }

非常经典的JAVA编程题全集(50题及答案)

【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少 //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数: 1"); System.out.println("第2个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"个月的兔子对数: "+f2); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<200; i+=2) { boolean b = false; for(int j=2; j<=Math.sqrt(i); j++) { if(i % j == 0) { b = false; break; } else { b = true; } } if(b == true) {count ++;System.out.println(i );} } System.out.println( "素数个数是: " + count); } } 【程序3】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 public class lianxi03 { public static void main(String[] args) { int b1, b2, b3; for(int m=101; m<1000; m++) {

java练习题(含标准答案)

1.编写程序,用数组实现乘法小九九的存储和输出。【提示:采用多个一维数组。】 public class Multipation { ?public staticvoidmain(String[] args) { ??// TODO Auto-generatedmethod stub ?int x[][]=new int[9][9]; ?for(inti=0;i<9;i++){ ???for(intj=0;j<9;j++){ ???if(i>=j){ ??intm=i+1; ???intn=j+1; ??? x[i][j]=m*n; ???System.out.print(m+"*"+n+"="+x[i][j]); ?} } System.out.println(); } ?} }

2.定义一个类Student,属性为学号、姓名和成绩;方法为增加记录SetRecord和得到记录GetRecord。SetRecord给出学号、姓名和成绩的赋值,GetRecord通过学号得到考生的成绩。 publicclass Student{ /** *@param args ?*/ ?privateintID; private String name; ?private float score; publicvoid SetRecord(intID,String name,float score){ ???this.ID=ID; ??this.name=name; ?this.score=score; } public float getRecord(int ID){ ?if(ID==this.ID) ??return this.score; ?else return-1; } publicstatic void main(String[] args) { ??//TODO Auto-generated methodstub ?Student s=newStudent(); ??s.SetRecord(0,"alex",100); float Sco=s.getRecord(0); ??System.out.print(Sco); } }

Java实验 类和对象

一、实验目的 掌握类和对象的定义,以及它们之间的关系 学习类中属性和方法的设计 会用UML图来对类进行描述 熟悉修饰符的作用,会用set/get方法对数据进行封装 二、实验要求 设计一个名为Rectangle的类表示矩形。这个类包括: ?两个名为width和height的私有double型数据域。用来表示宽、高。默认值为1.0。 ?创建默认矩形的无参构造方法。 ?一个创建width和height为指定值的矩形的构造方法。 ?一个名为GetArea()的公有方法返回矩形面积double ?一个静态的Compare方法,比较两个矩形的面积大小是否相等并返回一个布尔型结果,相等返回true,不等返回false; 画出UML 类图,实现Rectangle类,编写测试程序创建两个Rectangle类的对象。第一个对象的width为1,height为1;第一个对象的width为5,height为6。调用compare方法判断两个矩形是否相等并显示结果。 三、实验内容 1.使用Jude工具绘制UML图

2.编写代码实现类Rectangle package edu.neu.li.test; publicclass Rectangle { privatedouble width; privatedouble height; public Rectangle() { this.width = 1.0; this.height = 1.0; public Rectangle(double width, double height) { this.width = width; this.height = width; } publicdouble GetArea() { returnthis.width * this.height ; } publicstaticboolean Compare(Rectangle rec1, Rectangle rec2) { if(rec1.GetArea()==rec2.GetArea()) { returntrue; } returnfalse; } }

java练习题

1 When you compile a java program you should use command: A java *.java B javab *.java C javac *.java D javad *.java 2 Which of the following lines will compile without error. A float f=1.3; double B char c="a"; string C boolean b=null; D double d=1.3; 3 Which statement will compile wrong: A if(3>5)System.out.println("hello"); B if (3)System.out.println("hello"); C if(true)System.out.println("hello"); D if(false)System.out.println("hello"); 4 Consider the following code: Integer s = new Integer(9); Integer t = new Integer(9); Long u = new Long(9); Which test would return true? A (s.equals(new Integer(9)) B (s.equals(9)) C (s==u) D (s==t) 5 All of the following are wrapper classes except: A String B Integer C Character D Double 6 When you use the assignment operator with variables of a class type, you are assigning a: A value B primitive type C local variable D reference

java实验报告——对象和类

成绩: 面向对象原理与Java实践课程实验报告 实验1:对象和类 姓名 ____ 班级 ____ 学号 ____ 实验地点 ____ 实验时间 ____ 指导教师 ____

面向对象原理与Java实践课程实验报告 实验1:对象和类 一、实验目的: ●掌握类的定义及应用方法 ●掌握对象的创建方法,了解实例变量、实例方法和静态字段的特性 ●体会Java在类和对象的设计中体现的面向对象的思想 二、实验要求: ●具备Java基础知识(教材第1、2章内容) ●掌握Java中对象和类的基本概念和应用方法(教材第3章内容) ●设计类时注意保证类的封装性 ●编写程序完成以下实验内容并上交实验报告(包括电子文档与纸质文档) 三、实验内容: 设计并实现一个“广石化院电信学院学生通信录”系统。系统采用字符界面,在出现的主界面中按提示输入相应字符以选择“增加”、“删除”、“修改”、“查找”等功能进行操作(其中“查找”功能除能够查找某个学生的信息之外,还能够显示所有学生的信息)。记录的存储可采用数组或链表的方式。 四、设计思路: 为了实现该系统,首先要需要两个类;一个类为主界面服务,用于接收用户输入信息以及做出相关反应;一个类为学生信息服务,定义学生通讯录信息的各个字段,以及操作字段的各个方法,考虑到部分字段的属性问题,所以将操作方法都写在学生类中,不再另外放置在其他类中。学生信息将会采用学生类的对象数组来储存。 五、程序源代码: 下面是ZhuJieMian 主界面类 package pkg_TXL; import java.util.Scanner; public class ZhuJieMian { /** * * 该类为通讯录系统的主界面提供主要功能显示,以及负责主菜单与子菜单的正常跳转 */ public static void main(String[] args) {

java面试题-经典选择题部分

1 、给出如下代码: class Test{ private int m; public static void fun() { // some code... } } 如何使成员变量m 被函数fun() 直接访问? C A 、将private int m 改为protected int m B 、将private int m 改为public int m C 、将private int m 改为static int m D 、将private int m 改为int m 2 、下面哪个函数是public void example(){...} 的重载函数?D A 、private void example( int m){...} B 、public int example(){...} C 、public void example2(){...} D 、public int example ( int m, float f){...} 3 、给出下面的代码段: public class Base{ int w, x, y ,z; public Base(int a,int b) { x=a; y=b; } public Base(int a, int b, int c, int d) { // assignment x=a, y=b w=d; z=c; } } 在代码说明// assignment x=a, y=b 处写入如下哪个代码是正确的?D A 、Base(a,b); B 、x=a, y=b; C 、this(a),this(b); D 、this(a,b); 4 、已知如下定义:String s = "story"; 下面哪个表达式是合法的?A A 、s += "books"; B 、char c = s[1]; C 、int len = s.length;

java练习题答案资料讲解

j a v a练习题答案

Java练习题答案 一、填空 1、对象的状态和行为是对象的主要属性;前者对应类的变 量,行为又称为对象的操作,对应着类的方 法。类的定义包括变量声明和方法声明。 2、要嵌入在HTML文件中运行的程序是Java Applet( Java Application、 Java Applet)。 3、安装JDK后,Java开发工具在Bin目录。 4、声明接口的保留字是interface。 5、类的声明“public class Test extends Applet implements Runable{}”中,定义的类名是Test ,其父类 是Applet ;实现了Runable 接口。这个类的源程序必须保存为Test.java(写出包括扩展名的文件名)。 6、一个完整的Java应用程序由一个或多个类组成;其中Java Application 至少有一个主类,这个类中包含一个名 为main的方法 7、JDK下解释执行Java的程序是java.exe 。 8、语句如下: int[] c1=int[10]; int[] c2={1,2,3,4,5,6,7,8,9,0};

数组c1中的元素有10个;c2中的元素有10个;已初始化赋值的是c2(c1 c2)。 9、执行完下列程序后i的值为5。 int i=0; while(i<5) { i++; } 10、运行下列程序段后,结果c的取值为120。 int a = 100, b = 20,c; char oper ='+'; switch(oper) { case '+': c = a+b; break; case '-': c = a - b; break; default: c = a * b; break; } 11、为了能使用Java中已提供的类,我们需要用import语句来引入所需要的类。语句import java.io.*;中引入 了java.io 包的所有类。 二、选择题 1、属于访问控制的关键字是( D )。

JAVA类与对象及数组习题及答案

JAV A类和对象及数组习题 一、选择题 (1)下列构造方法的调用方式中,正确的是(D )--原因:在通过new实例化一个类对象时系统会自动调用该类相应的构造方法。 A.按照一般方法调用B.由用户直接调用 C.只能通过new自动调用D.被系统调用 (2)在Java中,能实现多重继承效果的方式是(C )--原因:一个类可以同时实现多个接口。Java接口反映了对象较高层次的抽象,还弥补了Java只支持单继承的不足,可用它来完成多继承的一些功能。 A.内部类B.适配器C.接口D.同步 (3)int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是( D )—原因:java中定义常量用关键字final来定义。 A.public int MAX_LENGTH=100 B.final int MAX_LENGTH=100 C.public const int MAX_LENGTH=100 D.public final int MAX_LENGTH=100 (4)下列叙述中,正确的是( A )—原因:Java严格区分大小写,所以变量number 与Number不相同;Java 中的注释方式除了“//”行注释之外还有段注释“/*-------*/”和文档注释/**-------*/。Java源文件中的public类只能有一个。 A. 声明变量时必须指定一个类型 B. Java认为变量number与Number相同 C. Java中唯一的注释方式是"//" D. 源文件中public类可以有0或多个 (5)下列叙述中,错误的是( D )—原因:子类继承父类,并且可以有自己的成员变量和成员方法。所以可以认为子类是父类的扩展。

百一测评——Java经典面试题 带答案

职业技能题库&在线云笔试平台https://www.wendangku.net/doc/0f12131186.html, 试卷名称:Java经典面试题带答案 试卷描述:java笔试题目、招聘笔试、微信考试、在线考试 试卷链接:https://www.wendangku.net/doc/0f12131186.html,/store/open/paperInfo/41651 试卷限时:50分 一.单项选择题 每题分值:2.5分 是否题目乱序:是 是否选项乱序:是 是否可回溯:是 难度:中 1.[单选]Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.[单选]下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code C.Java程序经编译后会产生DLL D.以上都不正确

职业技能题库&在线云笔试平台https://www.wendangku.net/doc/0f12131186.html, 答案:B 3.[单选]下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名 C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 4.[单选]提供Java存取数据库能力的包是() A.java.sql B.java.awt C.https://www.wendangku.net/doc/0f12131186.html,ng D.java.swing 答案:A 5.[单选]下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.[单选]执行如下程序代码 a=0;c=0;

职业技能题库&在线云笔试平台https://www.wendangku.net/doc/0f12131186.html, do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环 答案:C 7.[单选]下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.[单选]下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象

Java面向对象练习经典题之欧阳家百创编

JAVA程序作业题 欧阳家百(2021.03.07) 1、设计一个包含多个构造函数的类,并分别用这些构造函数实例化对象。 2、编写一个类Calculate1,实现加、减两种运算,然后,编写另一个派生类Calculate2,实现乘、除两种运算。 3、建立三个类:居民、成人、官员。居民包含身份证号、姓名、出生日期,而成人继承自居民,多包含学历、职业两项数据;官员则继承自成人,多包含党派、职务两项数据。要求每个类的字段都以属性的方式对外提供数据输入输出的功能。 4、编写一个类,其中包含一个排序的方法sort(),当传入的是一串整数,就按照从小到大的顺序输出,如果传入的是一个字符串,就将字符串反序输出。 5. 编写一个控制台应用程序,定义一个类MyClass,类中包含有public、private以及protected数据成员及方法。然后定义一个从MyClass类继承的类MyMain,将Main方法放在MyMain中,在Main方法中创建MyClass类的一个对象,并分别访问类中的数据成员及方法。要求注明在试图访问所有类成员时哪些语句会产生编译错误。 7.创建一个类包含有protected数据。在相同的文件里创建第二个类,用一个方法操纵第一个类里的protected数据 9 编写一个控制台应用程序,完成下列功能,并回答提出的问题。

1) 创建一个类A,在构造函数中输出“A”,再创建一个类B,在构造函数中输出“B”。 2) 从A继承一个名为C的新类,并在C内创建一个成员变量B。不要为C创建构造函数。 3) 在Main方法中创建类C的一个对象,写出运行程序后输出的结果。 4) 如果在C中也创建一个构造函数输出“C”,整个程序运行的结果又是什么? 10 编写一个控制台应用程序,完成下列功能,并写出运行程序后输出的结果。 1) 创建一个类A,在A中编写一个可以被重写的带int类型参数的方法MyMethod,并在该方法中输出传递的整型值加10后的结果。 2) 再创建一个类B,使其继承自类A,然后重写A中的MyMethod方法,将A中接收的整型值加50,并输出结果。 3) 在Main方法中分别创建类A和类B的对象,并分别调用MyMethod方法。 11. 创建一个类,它存储一个int数据成员MyNumber,并给该数据成员创建属性,当该数据成员被存储时,将其乘以100;当其被读取时,将其除以100。 12. 定义一个车辆(Vehicle)基类,具有Run、Stop等方法,具有Speed(速度)、MaxSpeed(最大速度)、Weight(重量)等字段。然后以该类为基类,派生出bicycle、car等类。并编程对该派

Java练习题及答案

Java练习题答案 一、填空 1、对象的状态和行为是对象的主要属性;前者对应类的变 量,行为又称为对象的操作,对应着类的方法。类的定义包括变量声明和方法声明。 2、要嵌入在HTML文件中运行的程序是Java Applet( Java Application、 Java Applet)。 3、安装JDK后,Java开发工具在Bin目录。 4、声明接口的保留字是interface。 5、类的声明“public class Test extends Applet implements Runable{}”中,定义的类名是Test ,其父类 是Applet ;实现了Runable 接口。这个类的源程序必须保存为Test.java(写出包括扩展名的文件名)。 6、一个完整的Java应用程序由一个或多个类组成;其中Java Application 至少有一个主类,这个类中包含一个名 为main的方法 7、JDK下解释执行Java的程序是java.exe 。 8、语句如下: int[] c1=int[10]; int[] c2={1,2,3,4,5,6,7,8,9,0}; 数组c1中的元素有10个;c2中的元素有10个;已初始化赋值的是c2(c1 c2)。

9、执行完下列程序后i的值为5。 int i=0; while(i<5) { i++; } 10、运行下列程序段后,结果c的取值为120。 int a = 100, b = 20,c; char oper ='+'; switch(oper) { case '+': c = a+b; break; case '-': c = a - b; break; default: c = a * b; break; } 11、为了能使用Java中已提供的类,我们需要用import语句来引入所需要的类。语句import java.io.*;中引入了java.io 包的所有类。 二、选择题 1、属于访问控制的关键字是( D )。 A、static B、final C、abstract D、private 2、对成员的访问控制保护最强的是(C)。

Java经典练习题

Java基础试题 一、选择题 1.编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。 A. .java B. .class C. .html D. .exe 2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( A )。 A. 3 B. 3. 5 C. 4 D. 5 3、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的(B)? A、public static void main() B、public static void main(String args[] ) C、public static int main(String [] arg ) D、public void main(String arg[] )4 4.Which of the following is not a valid comment:D a. /** comment */ b. /* comment */ c. /* comment d. // comment 5. Java中char类型的数据长度为 :C (A)8位(B)16位(C)32位(D)64位 6.下面哪个表达式是错误的:B (A)int i = 100; (B)float f = 100.0; (C)Object o = “Hello world”; (D)char c = ‘\u1234’; 7.下面哪个语句是正确的:C (A)byte s = 256; (B)String s = ‘Hello world’; (C)int x = 012; (D)char c = “a”; 8.下列叙述中,正确的是:A A)声明变量时必须指定一个类型 B)Java认为变量number与Number相同 C)Java中唯一的注释方式是"//" D)源文件中public类可以有0或多个 9.下列属于合法的Java标识符是:D A)"ABC" B)&5678 C)+rriwo D)saler 10.下面哪个标识符是不合法的:D (A)s1 (B)$1 (C)_1 (D)1s 11.在switch(expression)语句中,expression的数据类型不能是:A A)double B)char C)byte D)short 12.已知:int[] a = new int[100];在下列给出的数组元素中,非法的是:D A)a[0] B)a[1] C)a[99] D)a[100] 13.下列的哪个赋值语句是不正确的?: A A.float f = 11.1; B.double d = 5.3E12;

Java语言练习题库(含答案)

单选题 1. 为了保证方法的线程安全,声明方法的时候必须用哪个修饰符? (A) new (B) transient (C) void (D) synchronized 2. 编译Java源文件使用哪个? (A) javac (B) jdb (C) javadoc (D) junit 3. 哪一种类的对象中包含有Internet地址。 (A) Applet (B) Datagramsocket (C) InetAddress (D) AppletContext 4. 有关GUI容器叙述,不正确的是? (A) 容器是一种特殊的组件,它可用来放置其它组件 (B) 容器是组成GUI所必需的元素 (C) 容器是一种特殊的组件,它可被放置在其它容器中

(D) 容器是一种特殊的组件,它可被放置在任何组件中 5. 使用javadoc生成的文档的文件格式是? (A) XML格式 (B) 自定义格式 (C) 二进制格式 (D) HTML格式 6. 下列有关类、对象和实例的叙述,正确的是哪一项? (A) 类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别 (B) 对象是类的抽象,类是对象的具体化,实例是对象的另一个名称 (C) 类是对象的抽象,对象是类的具体化,实例是类的另一个名称 (D) 类是对象的抽象,对象是类的具体化,实例是对象的另一个名称 7. 在事件委托类的继承体系中,最高层次的类是哪项? (A) java.util.EventListener (B) java.util.EventObject (C) java.awt.AWTEvent (D) java.awt.event.AWTEvent 8. Java语言中异常的分类是哪项? (A) 运行时异常和异常 (B) 受检异常和非受检异常

JAVA类与对象习题

JAVA类与对象习题 一、写出一个类People,并由该类做基类派生出子类Employee和Teacher。其中People 类具有name、age两个保护成员变量,分别为String类型、整型,且具有公有的getAge 成员函数,用于返回age变量的值。Employee类具有保护成员变量empno,Teacher类有teano和zc成员变量。 二、(1)创建Rectangle类,添加属性width、height; (2)在Rectangle类中添加两种方法计算矩形的周长和面积; (3)编程利用Rectangle输出一个矩形的周长和面积 三、(1)设计一个User类,其中包括用户名、口令等属性以及构造方法(至少重载2 个)。获取和设置口令的方法,显示和修改用户名的方法等。编写应用程序测试User 类。 (2)定义一个student类,其中包括用户名、姓名、性别、出生年月等属行以及init()——初始化各属性、display()——显示各属性、modify()——修改姓名等方法。实现并测试这个类。 (3)从上题的student类中派生出Granduate(研究生)类,添加属性:专业subject、导师adviser。重载相应的成员方法。并测试这个类。 四、项目名称:Bank Account Management System 银行账户管理系统简称BAM 练习1:(面向对象基础语法) 写一个账户类(Account), 属性: id:账户号码长整数 password:账户密码 name:真实姓名 personId:身份证号码字符串类型 email:客户的电子邮箱 balance:账户余额 方法: deposit: 存款方法,参数是double型的金额 withdraw:取款方法,参数是double型的金额

相关文档