浙大Java语言程序设计编程详解6

合集下载

Java程序设计教程第6章6.2 类的方法

Java程序设计教程第6章6.2  类的方法

定义带参数的方法
public class ZhazhiJi {
public String zhazhi ( String fruit ) { String juice = fruit + "汁";
本章任务
4/61
会定义和使用类的无参方法 理解变量作用域 会添加JavaDoc注释 会定义带参方法 会使用带参方法 会创建包组织Java工程
本章目标
5/61
类的方法
按此按钮, 狮子开始跑
电动玩具狮子 属性:
颜色:黄色
问题
按此按钮, 狮子开始叫
行为: 跑 叫 抢球
写出狮子对象的“跑”方法、 “叫”方法、“抢 球”方法
public static void main(String[] args){

Student stu = new Student(); name = "神仙姐姐";
stu.sex
sex = 'F'; age = 18;
stu.age
stu.show();
}
}
3/61
实现计算平均分和课程总成绩 实现MyShopping系统菜单切换 实现MyShopping系统入口程序 实现客户信息的添加和显示 修改客户姓名 对客户姓名排序 实现模拟账户存取款功能
语法
对象名.方法名();
问题
小明过生日,爸爸送他一个电动狮子玩具,编程 测试这个狮子能否正常工作
10/61
方法调用
public class AutoLion {
String color = "黄色"; //颜色
/*跑*/ public void run(){

《Java面向对象编程》课件——第6章 类的多态

《Java面向对象编程》课件——第6章   类的多态
}
02 多态转型
多态转型,多态转型有两种,分Fra bibliotek是向上转型和向下转型。
➢ 向上转型 就是指子类对象赋值给父类引用
➢ 向下转型 是指一个已经向上转型的子类对象可以使用强制类型转换的格式,
将父类引用转为子类引用,向下转型的格式如下: 子类类型 变量名 = (子类类型) 父类类型的变量;
➢ 为了防止向下转型的失败,我们可以在向下转型前,进行数据类 型判断,判断父类类型的变量是否是由子类对象向上转型而来, 我们可以通过instanceof关键字来判断某个对象是否属于某种数据 类型,使用格式如下: boolean b = 对象 instanceof 数据类型;
}
class Dog extends Animal{ String color;
}
public class Demo3 { public static void main(String[]
args) { Animal animal=new Dog(); ="小黑";
System.out.println(); }
象 p1.work(); //调用子类方法 Persion p2=new Teacher(); p2.work();
} }
01 多态概述
在多态中,我们知道父类变量调用方法时,会调用子类对象的方法,那么在父类 变量访问成员变量,是访问哪个成员变量呢,接下来通过一个具体的案例来演示,代码 如下:
class Animal{ String name; int age;
《java面向对象课程设计》课程
第6章 类的多态
学 习 内 容
01 多态概述
02
多态转型
01 多态概述

解析JAVA程序设计第六章课后答案

解析JAVA程序设计第六章课后答案

第6章习题解答1.简述Java中设计图形用户界面程序的主要步骤。

对于设计图形用户界面程序而言,一般分为两个步骤:第一步,设计相应的用户界面,并根据需要对相关的组件进行布局;第二步,添加相关的事件处理,如鼠标、菜单、按钮和键盘等事件。

2.试说明容器与组件之间的关系。

组件(component)是图形用户界面中的各种部件(如标签、按钮、文本框等等),所有的组件类都继承自JComponent类。

容器(container)是用来放置其他组件的一种特殊部件,在java中容器用Container类描述。

3.阅读下面程序,说明其运行结果和功能。

//filename:MyFrame.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;public class MyFrame{public static void main(String agrs[]){JFrame f=new JFrame("简单窗体示例");f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JLabel l=new JLabel("习题1");f.getContentPane().add(l,BorderLayout.CENTER);f.pack();f.setVisible(true);}}程序的运行结果如下:4.阅读下面程序,说明其运行结果和功能。

//filename:TestButton.javaimport java.awt.*;import javax.swing.*;public class TestButton extends JFrame{JButton b1,b2;TestButton(String s){super(s);b1=new JButton("按钮1");b2=new JButton("按钮2");setLayout(new FlowLayout());add(b1);add(b2);setSize(300,100);setVisible(true);}public static void main(String args[]){ TestButton test;test=new TestButton("测试按钮"); }}程序的运行结果如下:5.阅读下面程序,说明其运行结果和功能。

java2实用教程第六版知识点汇总

java2实用教程第六版知识点汇总

Java2实用教程第六版知识点汇总1.引言本文档旨在对Ja va2实用教程第六版涉及的主要知识点进行全面的汇总和总结。

通过学习该教程,读者将能够全面掌握Ja va2编程的核心概念和技巧,为日后的J av a开发工作打下坚实的基础。

2.数据类型J a va2实用教程第六版详细介绍了Ja va中的各种数据类型及其使用方法。

以下是一些关键的知识点:2.1基本数据类型J a va的基本数据类型包括整型、浮点型、字符型和布尔型。

本教程提供了详细的介绍和示例代码,帮助读者理解这些数据类型的特点和用法。

2.2引用数据类型除了基本数据类型外,J av a还提供了多种引用数据类型,如数组、类、接口等。

教程中的例子演示了如何声明和使用这些引用数据类型,帮助读者熟悉它们的基本概念和操作。

3.控制流程控制流程是编程中的重要概念,决定了程序的执行顺序和逻辑。

J a va2实用教程第六版涵盖了常见的控制流程语句,包括条件语句和循环语句。

3.1条件语句条件语句用于根据条件的真假来选择性地执行不同的代码块。

本教程提供了i f语句、swi t ch语句等条件语句的详细说明和示例,让读者明白如何正确运用它们。

3.2循环语句循环语句用于重复执行某段代码,直到满足退出条件为止。

Ja v a2实用教程第六版介绍了三种循环语句:f or循环、w hi le循环和d o-wh il e循环。

读者将学会如何正确选择和使用不同类型的循环语句,以解决各种实际问题。

4.类与对象面向对象编程是J ava的核心思想之一。

J a va2实用教程第六版详细讲解了类与对象的概念、属性和方法的定义与使用等内容。

4.1类的定义与使用教程中提供了清晰的例子,介绍了如何定义类、声明对象、调用类的方法等操作。

读者将了解到如何通过类和对象来构建复杂的应用程序。

4.2构造方法与析构方法构造方法用于在创建对象时进行初始化操作,而析构方法则在对象销毁时执行清理工作。

本教程详细说明了构造方法和析构方法的特点和使用方法,帮助读者正确地管理对象的生命周期。

Java从入门到精通(第6版)

Java从入门到精通(第6版)

第16章反射与注解
16.1反射 16.2 Annotation注解功能 16.3实践与练习
第17章数据库操作
17.1数据库基础 17.2 JDBC概述 17.3 JDBC中常用的类和接口 17.4数据库操作 17.5实践与练习
第18章 Swing程序设计
18.1 Swing概述 18.2 Swing常用窗体 18.3常用布局管理器 18.4常用面板 18.5文字标签组件与图标 18.6按钮组件 18.7列表组件 18.8文本组件 18.9表格组件
第19章 Java绘图
19.1 Java绘图类 19.2绘制图形 19.3绘图颜色与画笔属性 19.4绘制文本 19.5显示图片 19.6图像处理 19.7实践与练习
第20章多线程
20.1线程简介 20.2创建线程 20.3线程的生命周期 20.4操作线程的方法 20.5线程的优先级 20.6线程同步 20.7实践与练习
Java从入门到精通(第6版)
读书笔记模板
01 思维导图
03 读书笔记 05 目录分析
目录
02 内容摘要 04 精彩摘录 06 作者介绍
思维导图
本书关键字分析思维导图
语言
实例
实践 类
数据库
对象
概述
第版

程序 设计
基础
注释
第章
接口
方法
类型
结构
文本
内容摘要
内容摘要
《Java从入门到精通(第6版)》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细讲解了 使用Java语言进行程序开发需要掌握的知识。全书分为23章,内容包括初识Java,熟悉Eclipse开发工具,Java 语言基础,流程控制,数组,类和对象,继承、多态、抽象类与接口,包和内部类,异常处理,字符串,常用类 库,集合类,枚举类型与泛型,lambda表达式与流处理,I/O(输入/输出),反射与注释,数据库操作,Swing 程序设计,Java绘图,多线程,网络通信,奔跑吧小恐龙,MR人脸识别打卡系统。书中所有知识都结合具体实例 进行讲解,涉及的程序代码都给出了详细的注释,可以使读者轻松领会Java程序开发的精髓,快速提高开发技能。

Java程序设计专升本考题详解

Java程序设计专升本考题详解

Java程序设计专升本考题详解Java程序设计是计算机科学与技术专业的重要课程之一,也是许多专升本考试中必考的科目之一。

本文将详细解析Java程序设计专升本考题,帮助考生更好地理解和应对考试。

1. Java程序设计的基本概念和特点Java程序设计是一种面向对象的编程语言,具有跨平台性、安全性和可靠性等特点。

Java程序设计的基本概念包括类、对象、方法等,考生需要掌握Java程序设计的基本语法和基本数据类型。

2. Java程序设计的语法要点2.1 基本数据类型Java程序设计中的基本数据类型包括整型、浮点型、字符型和布尔型等。

考生需要了解每种数据类型的取值范围和使用方法。

2.2 控制流程Java程序设计中的控制流程包括顺序结构、选择结构和循环结构。

考生需要熟练掌握if语句、switch语句和for循环等控制流程的使用方法。

2.3 数组Java程序设计中的数组是一种重要的数据结构,用于存储一组相同类型的数据。

考生需要了解数组的声明、初始化和遍历等操作。

3. Java面向对象程序设计3.1 类和对象Java程序设计是一种面向对象的编程语言,类是Java程序的基本组织单位,对象是类的实例。

考生需要了解类的定义、对象的创建和使用,以及类与对象之间的关系。

3.2 继承和多态继承是Java面向对象编程的重要特性,通过继承可以实现代码的重用和扩展。

多态是指同一个类的实例在不同的情况下表现出不同的行为。

考生需要了解继承和多态的概念和使用方法。

3.3 封装和抽象封装是指将数据和方法封装在一起形成一个类,通过访问修饰符控制对数据和方法的访问权限。

抽象是指通过抽取共同的特征和行为形成一个抽象类或接口,用于统一管理和使用一组类。

考生需要了解封装和抽象的概念和使用方法。

4. Java面向对象程序设计的高级特性4.1 接口和多态接口是一种抽象定义,规定了类必须实现的一组方法,通过接口可以实现多态性。

考生需要了解接口的定义和使用方法,以及接口与多态的关系。

Java语言程序设计课后习题答案全集

Java语言程序设计课后习题答案全集

Java语言程序设计课后习题答案全集Java语言程序设计是一门广泛应用于软件开发领域的编程语言,随着其应用范围的不断扩大,对于掌握Java编程技巧的需求也逐渐增加。

为了帮助读者更好地掌握Java编程,本文将提供Java语言程序设计课后习题的全集答案,供读者参考。

一、基础知识题1. 代码中的注释是什么作用?如何使用注释.答:注释在代码中是用来解释或者说明代码的功能或用途的语句,编译器在编译代码时会自动忽略注释。

在Java中,有三种注释的方式:- 单行注释:使用"// " 可以在代码的一行中加入注释。

- 多行注释:使用"/* */" 可以在多行中添加注释。

- 文档注释:使用"/** */" 可以添加方法或类的文档注释。

2. 什么是Java的数据类型?请列举常见的数据类型。

答:Java的数据类型用来指定变量的类型,常见的数据类型有:- 基本数据类型:包括整型(byte、short、int、long)、浮点型(float、double)、字符型(char)、布尔型(boolean)。

- 引用数据类型:包括类(class)、接口(interface)、数组(array)等。

二、代码编写题1. 编写Java程序,输入两个整数,求和并输出结果。

答:```javaimport java.util.Scanner;public class SumCalculator {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入第一个整数:");int num1 = scanner.nextInt();System.out.print("请输入第二个整数:");int num2 = scanner.nextInt();int sum = num1 + num2;System.out.println("两个整数的和为:" + sum);}}```三、综合应用题1. 编写Java程序,实现学生信息管理系统,要求包括以下功能:- 添加学生信息(姓名、年龄、性别、学号等);- 修改学生信息;- 删除学生信息;- 查询学生信息。

《Java程序设计》课后习题参考答案

《Java程序设计》课后习题参考答案

《Java程序设计》课后习题参考答案Java程序设计课后习题参考答案1. 介绍在 Java 程序设计课程中,课后习题是帮助学生巩固知识、加深理解和提高编程能力的重要环节。

本文将为大家提供《Java程序设计》课后习题的参考答案,以帮助学生更好地学习和掌握 Java 编程。

2. 基本概念Java 程序设计课后习题涵盖了从基础到高级的各种知识点,包括但不限于变量、数据类型、条件语句、循环语句、数组、类、对象、继承、多态等内容。

通过解答这些习题,学生可以加深对这些概念的理解,并且通过实际操作来巩固他们的编程能力。

3. 习题解答策略当解答课后习题时,以下几个策略可以帮助你更好地理解和解决问题:3.1 仔细阅读题目要求。

确保自己充分理解题目所要求的功能和目标。

3.2 分析问题。

在着手解答问题之前,先理清思路,分析问题的要点和关键部分。

3.3 设计算法。

根据问题的要求,设计一个合适的算法来解决问题。

3.4 编写代码。

用 Java 编程语言将你设计的算法转化为代码实现。

3.5 测试和调试。

对编写的代码进行测试和调试,确保程序能够正常运行,并且得到正确的结果。

4. 习题参考答案示例下面我们将列举几个常见的习题参考答案示例,以帮助大家更好地理解和学习 Java 程序设计:4.1 变量与数据类型:习题要求定义一个整型变量并赋值为10,然后输出该变量的值。

```public class VariableExample {public static void main(String[] args) {int num = 10;System.out.println("变量的值为:" + num);}}```4.2 条件语句:习题要求判断一个数是否是偶数,如果是,则输出“偶数”,否则输出“奇数”。

```public class EvenOddExample {public static void main(String[] args) {int num = 5;if (num % 2 == 0) {System.out.println("偶数");} else {System.out.println("奇数");}}}```4.3 循环语句:习题要求输出1到10之间的所有偶数。

浙大《Java语言程序设计》编程答案4

浙大《Java语言程序设计》编程答案4

浙大《Java语言程序设计》编程答案4实验5 分支结构程序的设计程序填空,不要改变与输入输出有关的语句。

一、显示两级成绩输入一个正整数repeat (0<repeat<10),做repeat次下列运算:< p="">输入一个学生的数学成绩,如果它低于60,输出“Fail”,否则,输出“Pass”。

输出使用System.out.println("Pass");及System.out.println("Fail");例:括号内是说明输入2 (repeat=2)60 59输出PassFailimport java.util.Scanner;public class Test30001{public static void main(String[] args){int ri, repeat;int mark;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){mark=in.nextInt();/*------------------*/if (mark<60)System.out.println("Fail");elseSystem.out.println("Pass");}}}二、找最小值输入一个正整数repeat (0<repeat<10),做repeat次下列运算:< p="">输入四个整数,输出其中的最小值。

例:括号内是说明输入3 (repeat=3)12 6 1 9010 40 30 20-1 -3 -4 -5输出min is 1 (12 6 1 90 中的最小值是1)min is 10 (10 40 30 20 中的最小值是10)min is -5 (-1 -3 -4 -5中的最小值是-5)import java.util.Scanner;public class Test30002 {public static void main(String[] args){int ri, repeat;int a, b, c, d, min;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){a=in.nextInt();b=in.nextInt();c=in.nextInt();d=in.nextInt();/*------------------*/min=a;if(min>b) min=b;if(min>c) min=c;if(min>d) min=d;System.out.println("min is "+min);}}}三、求三角形的面积和周长输入一个正整数repeat (0<repeat<10),做repeat次下列运算:< p="">输入三角形的三条边a, b, c,如果能构成一个三角形,输出面积area和周长perimeter;否则,输出“These sides do not correspond to a valid triangle”。

Java语言程序设计第一章

Java语言程序设计第一章

14
面向对象与类的概念 (3)
继承与多态 (续)
– 多态机制把不同的子类对象都当作父类类型看待, 屏蔽了不同子类对象之间差异。
– 比如,以Vehicle类为父类,实现两个子类:Truck 类和Car类,均继承父类的“加速”方法。但是实 际上货车和轿车的加速程序是不同的。因此,加速 方法应该在子类中根据不同车型重新定义。当发布 命令:“A汽车加速”。命令中并没有指定该汽车 是货车还是轿车。程序运行过程中,多态机制会自 动判断A汽车的类型,如果A车是货车则执行货车 的加速方法,是轿车的话则执行轿车的加速方法。
22
Java程序运行过程
23
编写Java程序的注意事项
最基本的程序至少包含一个类。 一个源文件中最多定义一个公共类(public class),并
且该公共类的命名要与源文件名相同,区分大小写。 程序从 main( ) 方法开始执行,关键字 static 表示无需
创建类的实例,可以直接调用 main( ) 方法,关键字 void表示main( ) 方法在执行时不返回任何值。 整个类及其所有成员都是在一对大括号中(即 { 和 } 之间)定义的,它们标志着类定义块的开始与结束。
5
Java EE (Java 2 Platform,Enterprise Edition)
JSP、Servlet、JavaBean JDBC、EJB、XML Struts、Spring、Hibernate、Ajax、WebService
6
Java ME (Java 2 Platform,Micro Edition)
7
Java的特性 (1)
平台无关性
.java
编译
.class
Java字节码文件

JAVA程序设计教程(第七版)第6章

JAVA程序设计教程(第七版)第6章

Copyright ©2012 Pearson Education, Inc.Chapter 6More Conditionals and LoopsJava Software SolutionsFoundations of Program DesignSeventh EditionJohn Lewis William LoftusMore Conditionals and Loops•Now we can fill in some additional details regarding Java conditional and repetition statements •Chapter 6 focuses on:–the switch statement –the conditional operator –the do loop –the for loop–drawing with the aid of conditionals and loops –dialog boxesCopyright ©2012 Pearson Education, Inc.OutlineThe switch Statement The Conditional Operator The do Statement The for StatementDrawing with Loops and Conditionals Dialog BoxesCopyright ©2012 Pearson Education, Inc.The switch Statement•The switch statement provides another way to decide which statement to execute next•The switch statement evaluates an expression, then attempts to match the result to one of several possible cases•Each case contains a value and a list of statements •The flow of control transfers to statementassociated with the first case value that matchesCopyright ©2012 Pearson Education, Inc.The switch Statement•The general syntax of a switch statement is:switch ( expression ){case value1:statement-list1case value2:statement-list2case value3:statement-list3case ...}switch and case are reserved wordsIf expression matches value2,control jumps to hereCopyright ©2012 Pearson Education, Inc.The switch Statement•Often a break statement is used as the last statement in each case's statement list• A break statement causes control to transfer to the end of the switch statement•If a break statement is not used, the flow of control will continue into the next case•Sometimes this may be appropriate, but often we want to execute only the statements associated with one caseCopyright ©2012 Pearson Education, Inc.The switch Statementswitch (option){case 'A':aCount++;break;case 'B':bCount++;break;case 'C':cCount++;break;}•An example of a switch statement:Copyright ©2012 Pearson Education, Inc.The switch Statement• A switch statement can have an optional default case•The default case has no associated value and simply uses the reserved word default•If the default case is present, control will transfer to it if no other case value matches•If there is no default case, and no other valuematches, control falls through to the statement after the switchCopyright ©2012 Pearson Education, Inc.The switch Statement•The type of a switch expression must be integers, characters, or enumerated types•As of Java 7, a switch can also be used with strings •You cannot use a switch with floating point values •The implicit boolean condition in a switch statement is equality•You cannot perform relational checks with a switch statement•See GradeReport.javaCopyright ©2012 Pearson Education, Inc.Copyright ©2012 Pearson Education, Inc.//********************************************************************// GradeReport.java Author: Lewis/Loftus //// Demonstrates the use of a switch statement.//********************************************************************import java.util.Scanner;public class GradeReport {//-----------------------------------------------------------------// Reads a grade from the user and prints comments accordingly.//-----------------------------------------------------------------public static void main (String[] args){int grade, category;Scanner scan = new Scanner (System.in);System.out.print ("Enter a numeric grade (0 to 100): ");grade = scan.nextInt();category = grade / 10;System.out.print ("That grade is ");continueCopyright ©2012 Pearson Education, Inc.continueswitch (category){case 10:System.out.println ("a perfect score. Well done.");break ;case 9:System.out.println ("well above average. Excellent.");break ;case 8:System.out.println ("above average. Nice job.");break ;case 7:System.out.println ("average.");break ;case 6:System.out.println ("below average. You should see the");System.out.println ("instructor to clarify the material "+ "presented in class.");break ;default :System.out.println ("not passing.");}}}Copyright ©2012 Pearson Education, Inc.continueswitch (category){case 10:System.out.println ("a perfect score. Well done.");break ;case 9:System.out.println ("well above average. Excellent.");break ;case 8:System.out.println ("above average. Nice job.");break ;case 7:System.out.println ("average.");break ;case 6:System.out.println ("below average. You should see the");System.out.println ("instructor to clarify the material "+ "presented in class.");break ;default :System.out.println ("not passing.");}}}Sample RunEnter a numeric grade (0 to 100): 91That grade is well above average. Excellent.OutlineThe switch Statement The Conditional Operator The do Statement The for StatementDrawing with Loops and Conditionals Dialog BoxesCopyright ©2012 Pearson Education, Inc.The Conditional Operator•The conditional operator evaluates to one of two expressions based on a boolean condition •Its syntax is:condition ? expression1: expression2•If the condition is true, expression1isevaluated; if it is false, expression2is evaluated •The value of the entire conditional operator is the value of the selected expressionCopyright ©2012 Pearson Education, Inc.The Conditional Operator•The conditional operator is similar to an if-else statement, except that it is an expression that returns a value •For example:larger = ((num1 > num2) ? num1 : num2);•If num1is greater than num2, then num1is assigned to larger ; otherwise, num2is assigned to larger •The conditional operator is ternary because it requires three operandsCopyright ©2012 Pearson Education, Inc.The Conditional Operator•Another example:•If count equals 1, the "Dime" is printed•If count is anything other than 1, then "Dimes" is printedSystem.out.println ("Your change is " + count +((count == 1) ? "Dime" : "Dimes"));Copyright ©2012 Pearson Education, Inc.Quick CheckCopyright ©2012 Pearson Education, Inc.Express the following logic in a succinct manner using the conditional operator.if (val <= 10)System.out.println("It is not greater than 10.");elseSystem.out.println("It is greater than 10.");Quick CheckCopyright ©2012 Pearson Education, Inc.Express the following logic in a succinct manner using the conditional operator.if (val <= 10)System.out.println("It is not greater than 10.");elseSystem.out.println("It is greater than 10.");System.out.println("It is" +((val <= 10) ? " not" : "") +" greater than 10.");OutlineThe switch Statement The Conditional Operator The do Statement The for StatementDrawing with Loops and Conditionals Dialog BoxesCopyright ©2012 Pearson Education, Inc.The do Statement• A do statement has the following syntax:do {statement-list ;}while (condition );•The statement-list is executed once initially, and then the condition is evaluated •The statement is executed repeatedly until the condition becomes falseCopyright ©2012 Pearson Education, Inc.Logic of a do Loop truecondition evaluatedstatementfalseCopyright ©2012 Pearson Education, Inc.The do Statement•An example of a do loop:•The body of a do loop executes at least once •See ReverseNumber.javaint count = 0;do {count++;System.out.println (count);} while (count < 5);Copyright ©2012 Pearson Education, Inc.Copyright ©2012 Pearson Education, Inc.//********************************************************************// ReverseNumber.java Author: Lewis/Loftus //// Demonstrates the use of a do loop.//********************************************************************import java.util.Scanner;public class ReverseNumber {//-----------------------------------------------------------------// Reverses the digits of an integer mathematically.//-----------------------------------------------------------------public static void main (String[] args){int number, lastDigit, reverse = 0;Scanner scan = new Scanner (System.in);continueCopyright ©2012 Pearson Education, Inc.continueSystem.out.print ("Enter a positive integer: ");number = scan.nextInt();do {lastDigit = number % 10;reverse = (reverse * 10) + lastDigit;number = number / 10;}while (number > 0);System.out.println ("That number reversed is " + reverse);}}Copyright ©2012 Pearson Education, Inc.continueSystem.out.print ("Enter a positive integer: ");number = scan.nextInt();do{lastDigit = number % 10;reverse = (reverse * 10) + lastDigit;number = number / 10;}while (number > 0);System.out.println ("That number reversed is " + reverse);}}Sample Run Enter a positive integer: 2896That number reversed is 6982Comparing while and dostatementtrue falsecondition evaluatedThe while Loop truecondition evaluatedstatementfalseThe do LoopCopyright ©2012 Pearson Education, Inc.OutlineThe switch Statement The Conditional Operator The do Statement The for StatementDrawing with Loops and Conditionals Dialog BoxesCopyright ©2012 Pearson Education, Inc.The for Statement• A for statement has the following syntax:for ( initialization ; condition ; increment )statement ;The initialization is executed once before the loop beginsThe statement is executed until thecondition becomes falseThe increment portion is executedat the end of each iterationCopyright ©2012 Pearson Education, Inc.Logic of a for loopstatement true condition evaluatedfalseincrementinitializationCopyright ©2012 Pearson Education, Inc.The for Statement• A for loop is functionally equivalent to the following while loop structure:initialization ;while ( condition ){statement ;increment ;}Copyright ©2012 Pearson Education, Inc.The for Statement•An example of a for loop:for (int count=1; count <= 5; count++)System.out.println (count);•The initialization section can be used to declare a variable•Like a while loop, the condition of a for loop is tested prior to executing the loop body•Therefore, the body of a for loop will execute zero or more timesCopyright ©2012 Pearson Education, Inc.The for Statement•The increment section can perform any calculation:for (int num=100; num > 0; num -= 5)System.out.println (num);• A for loop is well suited for executing statements a specific number of times that can be calculated or determined in advance •See Multiples.java •See Stars.javaCopyright ©2012 Pearson Education, Inc.Copyright ©2012 Pearson Education, Inc.//********************************************************************// Multiples.java Author: Lewis/Loftus //// Demonstrates the use of a for loop.//********************************************************************import java.util.Scanner;public class Multiples {//-----------------------------------------------------------------// Prints multiples of a user-specified number up to a user-// specified limit.//-----------------------------------------------------------------public static void main (String[] args){final int PER_LINE = 5;int value, limit, mult, count = 0;Scanner scan = new Scanner (System.in);System.out.print ("Enter a positive value: ");value = scan.nextInt();continueCopyright ©2012 Pearson Education, Inc.continueSystem.out.print ("Enter an upper limit: ");limit = scan.nextInt();System.out.println ();System.out.println ("The multiples of " + value + " between " +value + " and " + limit + " (inclusive) are:");for (mult = value; mult <= limit; mult += value){System.out.print (mult + "\t");// Print a specific number of values per line of output count++;if (count % PER_LINE == 0)System.out.println();}}}Copyright ©2012 Pearson Education, Inc.continueSystem.out.print ("Enter an upper limit: ");limit = scan.nextInt();System.out.println ();System.out.println ("The multiples of " + value + " between " +value + " and " + limit + " (inclusive) are:");for (mult = value; mult <= limit; mult += value){System.out.print (mult + "\t");// Print a specific number of values per line of output count++;if (count % PER_LINE == 0)System.out.println();}}}Sample RunEnter a positive value: 7Enter an upper limit: 400The multiples of 7 between 7 and 400 (inclusive) are:714212835424956637077849198105112119126133140147154161168175182189196203210217224231238245252259266273280287294301308315322329336343350357364371378385392399Copyright ©2012 Pearson Education, Inc.//********************************************************************// Stars.java Author: Lewis/Loftus //// Demonstrates the use of nested for loops.//********************************************************************public class Stars {//-----------------------------------------------------------------// Prints a triangle shape using asterisk (star) characters.//-----------------------------------------------------------------public static void main (String[] args){final int MAX_ROWS = 10;for (int row = 1; row <= MAX_ROWS; row++){for (int star = 1; star <= row; star++)System.out.print ("*");System.out.println();}}}Copyright ©2012 Pearson Education, Inc.//********************************************************************// Stars.java Author: Lewis/Loftus //// Demonstrates the use of nested for loops.//********************************************************************public class Stars{//-----------------------------------------------------------------// Prints a triangle shape using asterisk (star) characters.//-----------------------------------------------------------------public static void main (String[] args){final int MAX_ROWS = 10;for (int row = 1; row <= MAX_ROWS; row++){for (int star = 1; star <= row; star++)System.out.print ("*");System.out.println();}}}Output*******************************************************Quick CheckCopyright ©2012 Pearson Education, Inc.Write a code fragment that rolls a die 100 times and counts the number of times a 3 comes up.Quick CheckCopyright ©2012 Pearson Education, Inc.Write a code fragment that rolls a die 100 times and counts the number of times a 3 comes up.Die die = new Die();int count = 0;for (int num=1; num <= 100; num++)if (die.roll() == 3)count++;Sytem.out.println (count);The for Statement•Each expression in the header of a for loop is optional•If the initialization is left out, no initialization is performed•If the condition is left out, it is always considered to be true, and therefore creates an infinite loop •If the increment is left out, no increment operation is performedCopyright ©2012 Pearson Education, Inc.For-each Loops• A variant of the for loop simplifies the repetitive processing of items in an iterator •For example, suppose bookList is an ArrayList<Book>object•The following loop will print each book:for (Book myBook : bookList)System.out.println (myBook);•This version of a for loop is often called a for-each loopCopyright ©2012 Pearson Education, Inc.For-each Loops• A for-each loop can be used on any object that implements the Iterable interface•It eliminates the need to retrieve an iterator and call the hasNext and next methods explicitly•It also will be helpful when processing arrays, which are discussed in Chapter 8Copyright ©2012 Pearson Education, Inc.Quick CheckCopyright ©2012 Pearson Education, Inc.Write a for-each loop that prints all of the Student objects in an ArrayList<Student>object called roster .Quick CheckCopyright ©2012 Pearson Education, Inc.Write a for-each loop that prints all of the Student objects in an ArrayList<Student>object called roster .for (Student student : roster)System.out.println (student);OutlineThe switch Statement The Conditional Operator The do Statement The for StatementDrawing with Loops and Conditionals Dialog BoxesCopyright ©2012 Pearson Education, Inc.Drawing Techniques•Conditionals and loops enhance our ability to generate interesting graphics •See Bullseye.java•See BullseyePanel.java •See Boxes.java•See BoxesPanel.javaCopyright ©2012 Pearson Education, Inc.Copyright ©2012 Pearson Education, Inc.//********************************************************************// Bullseye.java Author: Lewis/Loftus //// Demonstrates the use of loops to draw.//********************************************************************import javax.swing.JFrame;public class Bullseye {//-----------------------------------------------------------------// Creates the main frame of the program.//-----------------------------------------------------------------public static void main (String[] args){JFrame frame = new JFrame ("Bullseye");frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);BullseyePanel panel = new BullseyePanel();frame.getContentPane().add(panel);frame.pack();frame.setVisible(true );}}Copyright ©2012 Pearson Education, Inc.//********************************************************************// Bullseye.java Author: Lewis/Loftus //// Demonstrates the use of loops to draw.//********************************************************************import javax.swing.JFrame;public class Bullseye {//-----------------------------------------------------------------// Creates the main frame of the program.//-----------------------------------------------------------------public static void main (String[] args){JFrame frame = new JFrame ("Bullseye");frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);BullseyePanel panel = new BullseyePanel();frame.getContentPane().add(panel);frame.pack();frame.setVisible(true );}}Copyright ©2012 Pearson Education, Inc.//********************************************************************// BullseyePanel.java Author: Lewis/Loftus //// Demonstrates the use of conditionals and loops to guide drawing.//********************************************************************import javax.swing.JPanel;import java.awt.*;public class BullseyePanel extends JPanel {private final int MAX_WIDTH = 300, NUM_RINGS = 5, RING_WIDTH = 25;//-----------------------------------------------------------------// Sets up the bullseye panel.//-----------------------------------------------------------------public BullseyePanel (){setBackground (Color.cyan);setPreferredSize (new Dimension(300,300));}continueCopyright ©2012 Pearson Education, Inc.continue//-----------------------------------------------------------------// Paints a bullseye target.//-----------------------------------------------------------------public void paintComponent (Graphics page){super .paintComponent (page);int x = 0, y = 0, diameter = MAX_WIDTH;page.setColor (Color.white);for (int count = 0; count < NUM_RINGS; count++){if (page.getColor() == Color.black) // alternate colorspage.setColor (Color.white);elsepage.setColor (Color.black);page.fillOval (x, y, diameter, diameter);diameter -= (2 * RING_WIDTH);x += RING_WIDTH;y += RING_WIDTH;}// Draw the red bullseye in the center page.setColor (Color.red);page.fillOval (x, y, diameter, diameter);}}Copyright ©2012 Pearson Education, Inc.//********************************************************************// Boxes.java Author: Lewis/Loftus //// Demonstrates the use of loops to draw.//********************************************************************import javax.swing.JFrame;public class Boxes {//-----------------------------------------------------------------// Creates the main frame of the program.//-----------------------------------------------------------------public static void main (String[] args){JFrame frame = new JFrame ("Boxes");frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);BoxesPanel panel = new BoxesPanel();frame.getContentPane().add(panel);frame.pack();frame.setVisible(true );}}Copyright ©2012 Pearson Education, Inc.//********************************************************************// Boxes.java Author: Lewis/Loftus //// Demonstrates the use of loops to draw.//********************************************************************import javax.swing.JFrame;public class Boxes {//-----------------------------------------------------------------// Creates the main frame of the program.//-----------------------------------------------------------------public static void main (String[] args){JFrame frame = new JFrame ("Boxes");frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);BoxesPanel panel = new BoxesPanel();frame.getContentPane().add(panel);frame.pack();frame.setVisible(true );}}Copyright ©2012 Pearson Education, Inc.//********************************************************************// BoxesPanel.java Author: Lewis/Loftus //// Demonstrates the use of conditionals and loops to guide drawing.//********************************************************************import javax.swing.JPanel;import java.awt.*;import java.util.Random;public class BoxesPanel extends JPanel {private final int NUM_BOXES = 50, THICKNESS = 5, MAX_SIDE = 50;private final int MAX_X = 350, MAX_Y = 250;private Random generator;//-----------------------------------------------------------------// Sets up the drawing panel.//-----------------------------------------------------------------public BoxesPanel (){generator = new Random();setBackground (Color.black);setPreferredSize (new Dimension(400, 300));}continueCopyright ©2012 Pearson Education, Inc.continue//-----------------------------------------------------------------// Paints boxes of random width and height in a random location.// Narrow or short boxes are highlighted with a fill color.//-----------------------------------------------------------------public void paintComponent(Graphics page){super .paintComponent (page);int x, y, width, height;for (int count = 0; count < NUM_BOXES; count++){x = generator.nextInt(MAX_X) + 1;y = generator.nextInt(MAX_Y) + 1;width = generator.nextInt(MAX_SIDE) + 1;height = generator.nextInt(MAX_SIDE) + 1;continueCopyright ©2012 Pearson Education, Inc.continueif (width <= THICKNESS) // check for narrow box {page.setColor (Color.yellow);page.fillRect (x, y, width, height);}elseif (height <= THICKNESS) // check for short box {page.setColor (Color.green);page.fillRect (x, y, width, height);}else {page.setColor (Color.white);page.drawRect (x, y, width, height);}}}}OutlineThe switch Statement The Conditional Operator The do Statement The for StatementDrawing with Loops and Conditionals Dialog BoxesCopyright ©2012 Pearson Education, Inc.Dialog Boxes• A dialog box is a window that appears on top of any currently active window •It may be used to:–convey information –confirm an action–allow the user to enter data –pick a color –choose a file• A dialog box usually has a specific, solitary purpose, and the user interaction with it is briefCopyright ©2012 Pearson Education, Inc.Dialog Boxes•The JOptionPane class provides methods that simplify the creation of some types of dialog boxes •See EvenOdd.java•Specialized dialog boxes for choosing colors and files are covered in Chapter 9Copyright ©2012 Pearson Education, Inc.Copyright ©2012 Pearson Education, Inc./********************************************************************// EvenOdd.java Author: Lewis/Loftus //// Demonstrates the use of the JOptionPane class.//********************************************************************import javax.swing.JOptionPane;public class EvenOdd {//-----------------------------------------------------------------// Determines if the value input by the user is even or odd.// Uses multiple dialog boxes for user interaction.//-----------------------------------------------------------------public static void main (String[] args){String numStr, result;int num, again;continueCopyright ©2012 Pearson Education, Inc.continuedo {numStr = JOptionPane.showInputDialog ("Enter an integer: ");num = Integer.parseInt(numStr);result = "That number is " + ((num%2 == 0) ? "even" : "odd");JOptionPane.showMessageDialog (null , result);again = JOptionPane.showConfirmDialog (null , "Do Another?");}while (again == JOptionPane.YES_OPTION);}}continuedo{numStr = JOptionPane.showInputDialog ("Enter an integer: ");num = Integer.parseInt(numStr);result = "That number is " + ((num%2 == 0) ? "even" : "odd");JOptionPane.showMessageDialog (null, result);again = JOptionPane.showConfirmDialog (null, "Do Another?");}while (again == JOptionPane.YES_OPTION);}}Summary•Chapter 6 focused on:–the switch statement–the conditional operator–the do loop–the for loop–drawing with the aid of conditionals and loops–dialog boxesCopyright ©2012 Pearson Education, Inc.Copyright ©2012 Pearson Education, Inc.。

《Java语言程序设计-基础篇》答案-第06章

《Java语言程序设计-基础篇》答案-第06章

第6章 类与对象复习题6.1 答: 略6.2答: 略6.3答: 构造方法 ShowErrors(int) 没有定义.原因是默认的构造函数是没有参数的.6.4答: 略6.5答: 变量c 没有初始化,也可以说是没有将对象引用到实例.即c 为null. 6.6 答: 构造函数A()没有定义.原因是类中有了有参的构造方法A(String s),但没有无参构造方法,而系统不会再提供默认的构造函数A()。

系统找不到默认的构造函数.在这种情况下,如果还要用A(),则需要重新定义. 6.7 答:构造函数C(double)没有定义.原因是默认的构造函数是没有参数的. 6.8 答:输出:false;原因是boolean 类型的变量如果没有初始化,则默认初始值为false; 6.9 答:方法x()没有定义;6.10答:略6.11答:略6.12答:输出:1.0;私有变量可以被类里的成员方法访问.6.13答:略6.14答:略6.15答:传递基本类型参数值的变化不能被带回,而引用类型参数的变化可以带回.输出: count is 101 times is 06.16答:After swap1 : circle1= 1.0 circle2=2.0After swap2 : circle1= 2.0 circle2=1.0课后答案网ww w.kh da w .c om6.17答:a[0]= 1 a[1]= 2 (a)a[0]= 2 a[1]= 1 (b)e1 = 2 e2= 1 (c)t1's i = 2 and j= 1 (d)t2's i = 2 and j= 1第四个值得注意,因为 i 为静态的,因此经过二次实例化后,i 就变成2了。

而j 是没有变的,一直为1。

6.18答:System.out .println(f.i);System.out .println(f.s ); f.imethod(); f.smethod ();System.out .println(Foo.s ); Foo.smethod ();但静态成员最好直接用类访问.像 System.out .println(f.s ); f.smethod ();6.19答:i + j is 23k is 2 j is 06.20答:不能在静态方法中调用非静态方法,不能在静态方法中调用非静态变量.反之可以.错误是:不能调用method1(),不能调用c.6.22答:错误没有,但会提出警告:p 不明确,这里应该用this.p;6.23答:第一个输出为:null,因为一个对象的默认值是null,而第二个输出有错,原因是没有将对象引用到实例,即dates[0]为空课后答案网ww w.kh da w .c om。

浙大 Java语言程序设计(全套课件496P)

浙大 Java语言程序设计(全套课件496P)

把26送到变量A 加上36 输出到48号端口
暂停
编程较为方便 直接对硬件操作 ,编程效率不高,一般人很难使用 需要“翻译”
1.1.3 高级语言
高级语言——接近自然语言和数学表达,且不 依赖于特定的机器——通用性好
例:使用Java语言计算 A=7+8 int x=7, y=8, A ; A= x+y ;
Java语言是Sun公司1995年5月23日正式推出的纯面 向对象的网络编程语言
Java的历史 1990年,Sun Microsystem公司投资Green研究项 目,解决家用电器的集成控制问题,定义了一套 新的语言系统Java 1994年,Sun 公司将Java语言用于WWW开发, 使Web页变“活”了
优点:能被计算机识别和直接执行,执行速度快 缺点:通篇是0和1,可读性太差,编程不方便,
指令难记,容易出错且不易修改
1.1.2 汇编语言
汇编语言采用助记符来代替机器语言的二进制编码 前述的机器语言程序段,改用汇编语言可写成:
LD A,26 ; ADD A,36 ; OUT (48),A ;
HALT ;
. 表示当前目录
设置环境变量 P.6
右击“我的电脑”→选择“属性” →选择“高级” →单击“环境变量”按钮,出现“环境变量”对话框 → 选择系统变量下的“Path”变量 →单击“编辑”按 钮→输入变量值,如: C:\Program Files\Java\jdk1.6.0_14\bin → 单击“确定”按钮
Sun公司网站免费下载
J2SDK的下载、安装和设置
下载J2SDK 教学网站http://10.71.45.100→系统工具→常用软件
安装J2SDK 编译器 javac.exe (编译 compile) 解释器 java.exe 记住安装路径

Java第2版第6章

Java第2版第6章

6.3.2 对象的使用
创建新的对象之后,就可以对对象的成员进 行访问。通过对象来引用对象成员的格式如下: <对象名>.<对象成员> 在对象名和对象成员之间用“.”相连,通 过这种引用可以访问对象的成员。 例如,若将对象volu的半径赋值为2.8,把 高赋值为5,其代码为: volu.radius=2.8; volu.height=5;
所以在图6.3中所示的对象内存状态图中,成员 变量radius的初始值为0。
表6.4 成员变量的初始值
成员变量类型 byte short int long 0 0 0 0L 初始值
float
double char boolwan 所有引用类型
0.0F
0.0D ‘\u0000’(表示为空) false null
对象是整个面向对象程序设计的理论基础由于面向对象程序中使用类来创建对象所以可以将对象理解为一种新型的变量它保存着一些比较有用的数据但可以要求它对自身进行操作
第6章 类与对象
通过本章的学习,主要掌握以下知识点:
类的基本概念 对象的创建与使用 对象的使用 成员的调用
本章的重点:
创建类
本章的难点:
类修饰符 成员数量与成员方法修饰符
下面定义前面叙述过的圆柱体类如下: class Cylinder //定义圆柱体类Cylinder { double radius; //声明成员变量radius int height; //声明成员变量height double pi=3.14; //为数据成员赋初值 void area( ) //定义成员方法area(),用来计算底面积 { System.out.println(“圆柱底面积=”+ pi*radius* radius); } void volume( ) //定义成员方法volume (),用来计算体积 { System.out.println(“圆柱体体积=”+((pi*radius* radius)*height); } }

java6 程序设计实验指导+课后习题答案

java6 程序设计实验指导+课后习题答案
三、简答题
6.A abstract和final修饰符不能同时使用
B未给出类型定义,final int MAX_NUMBER=10;
C常量不能修改
D静态方法值能访问静态变量,static int data。或者把方法标志为非静态方法,int getData() E构造方法无返回值,把void去掉
F抽象类不能进行实例化,把abstract去掉
5、import语句在所有类定义之前,在package定义之后;
6、import只告诉编译器及解释器哪里可以找到类、变量、方法的定义,而并没有将这些定义引入代码中;
第5章
实验指导:
5.6.1.第一处需要填写的代码:i<st.length()
第二处需要填写的代码:st.indexOf("you")
5.6.2.第一处需要填写的代码:int i=0;i<a.length;i++;
publicvoid getMainMessage(Extendbroadable ext){ext.inPut();}
5.Constants.MAX_COUNT
6.interface B extends A{
public void printB();}
二、选择题
1.C 2.D 3.B 4.C 5.B 6.C 7.C 8.B 9.D 10.D 11.D 12.A
Java6程序设计实践教程实验指导+课后答案
阅读人数:207人页数:.java.exe 3.jdb.exe 4.标准字节码5.Java 6.独立于平台
二、选择题
1.B 2.A 3.B 4.A 5.A 6.C 7.C 8.D 9.C
第2章:
实验指导:

浙大 Java语言程序设计编程答案3

浙大 Java语言程序设计编程答案3

实验4 顺序结构程序的设计程序填空,不要改变与输入输出有关的语句。

一、求两个数的和与差。

输入整数a和b,计算并输出a、b的和与差。

例:输入2 -8输出The sum is -6The difference is 10import java.io.*;import java.util.Scanner;public class Test20001{public static void main(String args[]){int a, b, sum, diff;Scanner in=new Scanner(System.in);a=in.nextInt();b=in.nextInt();/*------------------*/sum=a+b;diff=a-b;System.out.println("The sum is "+sum);System.out.println("The difference is "+diff);}}二、求平方根。

输入1个实数x,计算并输出其平方根。

例:输入1.21输出The square root of 1.21 is 1.1import java.io.*;import java.util.Scanner;public class Test20002{public static void main(String args[]){double x, root;Scanner in=new Scanner(System.in);x=in.nextDouble();/*------------------*/root=Math.sqrt(x);System.out.println("The square root of "+x+" is "+root);}}三、华氏温度转换为摄氏温度。

输入华氏温度f,计算并输出相应的摄氏温度c。

浙江大学期末考试必考题及参考答案

浙江大学期末考试必考题及参考答案

浙江大学期末考试及参考答案《Java语言程序设计》期末试卷(试卷总分:100分,考试时间:120分钟,答案写在答卷纸上)一.判断题(每题1分,共10分)1.Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。

()2.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。

()3.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。

()4.Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。

()5.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。

()6.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch 中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。

()7.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。

()8.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。

()9.静态初始化器是在其所属的类加载内存时由系统自动调用执行。

()10.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。

()二.单项选择题(每题2分,共40分)1.Java application中的主类需包含main方法,以下哪项是main方法的正确形参?()A、 String argsB、String ar[]C、Char argD、StringBuffer args[] 2.以下关于继承的叙述正确的是()。

A、在Java中类只允许单一继承B、在Java中一个类只能实现一个接口C、在Java中一个类不能同时继承一个类和实现一个接口D、在Java中接口只允许单一继承3.paint()方法使用哪种类型的参数? ()A、GraphicsB、Graphics2DC、StringD、Color4.以下哪个不是Java的原始数据类型()A、intB、BooleanC、floatD、char5.以下哪项可能包含菜单条()。

java程序设计教程(第六版)课后习题答案

java程序设计教程(第六版)课后习题答案
public static void main(String[] args) {
int SECONDS=10853;
int Hour,Minute,Second;
Second=SECONDS%60;
Minute=(SECONDS-Second)%60;
Hour=(SECONDS-Second-Minute*60)/3600;
private double diameter;
public Sphere(){//构造方法:无参数
this.diameter = 1.0;
}
public Sphere(double d){ //构造方法:带一个参数
this.diameter = d;
}
public void setDiameter(double d) {//设置直径值的方法
page.drawOval (145, 65, 40, 40);// circle
page.setColor(Color.cyan);
page.drawString ("OLYMPIC LOGO", 40, 30);
}
}
2.19
import java.applet.*;
import java.awt.*;
this.diameter = d;
}
public double getDiameter(){//获取直径值的方法
return this.diameter;
System.out.println (SECONDS+"秒,转化为");
System.out.println (Hour+"时"+Minute+"分"+Second+"秒");

有秒计时的数字时钟——mooc《面向对象程序设计——Java语言》-(浙大翁凯)第二周编程题

有秒计时的数字时钟——mooc《面向对象程序设计——Java语言》-(浙大翁凯)第二周编程题

有秒计时的数字时钟——mooc《⾯向对象程序设计——Java语⾔》-(浙⼤翁凯)第⼆周编程题封装,就是把数据和对这些数据的操作放在⼀起,并且⽤这些操作把数据掩盖起来,是⾯向对象的基本概念之⼀,也是最核⼼的概念。

我们有⼀个⾮常直截了当的⼿段来保证在类的设计的时候做到封装:1. 所有的成员变量必须是private的,这样就避免别⼈任意使⽤你的内部数据;2. 所有public的函数,只是⽤来实现这个类的对象或类⾃⼰要提供的服务的,⽽不是⽤来直接访问数据的。

除⾮对数据的访问就是这个类及对象的服务。

简单地说,给每个成员变量提供⼀对⽤于读写的get/set函数也是不合适的设计。

private:1:只有这个类内部可以访问2:类内部指类的成员函数和定义初始化3:这个限制是对类的⽽不是对对象的(同⼀个类的所有的不同的对象之间可以互相访问别⼈的私有成员,私有是针对类⽽不是针对对象)public:1:任何⼈都可以访问2:任何⼈指的是在任何类的函数或定义初始化中可以使⽤3:使⽤指的是调⽤,访问或定义变量friendly:类的成员函数前⾯未说明是public或者private。

则默认为friendly,意味着同⼀个包内可以访问⼀个编译单元只能有⼀个public class当你的程序越来越⼤的时候,你就会需要有⼀个机制帮助你管理⼀个⼯程中众多的类了。

包就是Java的类库管理机制,它借助⽂件系统的⽬录来管理类库,⼀个包就是⼀个⽬录,⼀个包内的所有的类必须放在⼀个⽬录下,那个⽬录的名字必须是包的名字。

作为初学者,你可以忽略不看包,反正⼀切靠Eclipse。

但是作为⼀个Java程序员,你不能不懂包。

要不然,在使⽤别⼈的类库和部署你的程序的时候,会遇到不少莫名其妙的⿇烦。

因为,包治百病啊!类是描述,对象是实体。

在类⾥所描述的成员变量,是位于这个类的每⼀个对象中的。

⽽如果某个成员有static关键字做修饰,它就不再属于每⼀个对象,⽽是属于整个类的了,名为类变量。

Java编程详解(微课版)-习题答案.docx

Java编程详解(微课版)-习题答案.docx

【1】第一章一、选择题1.D2.A3.B二、简答题(1)c是面向过程的,java是面向对象的。

(2)Java可以跨平台,在windows 和unix 等系统上都可以很好的运行。

(3)JAVA语言让编程者无法找到指针来直接访问内存无指针,并且增添了自动的内存管理功能,从而有效地防止了c语言中指针操作失误,如野指针所造成的系统崩溃。

但也不是说JAVA没有指针,虚拟机内部还是使用了指针,只是外人不得使用而已。

这有利于Java程序的安全。

(4)在java中引入了package的概念,使面向对象和面向组件开发更加方便,而在c 语言中没有package概念,需要其他方式来实现。

(5)Java是完全面向对象的语言,所有函数和变量部必须是类的一部分。

(6)Java程序中所有的对象都是用new操作符建立在内存堆栈上,Java自动进行无需内存回收操作,不需要程序员进行删除。

(7)Java没有函数,作为一个比c语言更纯的面向对象的语言,Java强迫开发人员把所有例行程序包括在类中,事实上,用方法实现例行程序可激励开发人员更好地组织编码。

【2】第二章一、选择题BBDDB二、简答题1、类是对象的概括,对象是类的具体体现。

1)对象:对象是人们要进行研究的任何事物,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。

对象具有状态,一个对象用数据值来描述它的状态。

对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。

对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。

2)类:具有相同特性(数据元素)和行为(功能)的对象的抽象就是类。

因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象,类实际上就是一种数据类型。

类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。

类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。

2、构造器是Java学习中很重要的一个概念,构造器可以提供许多特殊的方法,构造器作为一种方法,负责类中成员变量(域)的初始化。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验7 循环结构程序的设计(二)程序填空,不要改变与输入输出有关的语句。

1.求1-1/2+1/3-1/4+……输入一个正整数repeat (0<repeat<10),做repeat次下列运算:读入1 个正整数n(n<=100),计算并输出1-1/2+1/3-1/4+……的前n项和(四舍五入保留小数4位)。

例:括号内是说明输入2 (repeat=2)103输出0.64560.8333import java.util.Scanner;public class Test40004 {public static void main(String[] args) {int ri, repeat;int i, n, flag;float sum;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){n=in.nextInt();/*--------------------*/sum=0;flag=1;for(i=1;i<=n;i++) {sum+=flag*1.0f/i;flag=-flag;}System.out.println((long)(sum*10000+0.5)/10000.);}}}2.求1-1/3+1/5-1/7+……输入一个正整数repeat (0<repeat<10),做repeat次下列运算:读入1 个正实数eps,计算并输出1-1/3+1/5-1/7+……,直到最后一项的绝对值小于eps为止(要求每一项的绝对值均大于等于eps,并以float类型输出数据)。

例:括号内是说明输入2 (repeat=2)1E-4输出0.78530.8349import java.util.Scanner;public class Test40006 {public static void main(String[] args) {int ri, repeat;int temp, flag;double eps, item, sum;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){eps=in.nextDouble();/*--------------------*/item=1;sum=0;temp=flag=1;while(Math.abs(item)>=eps){sum+=item;flag=-flag;temp+=2;item=flag*1.0/temp;}System.out.println((int)(sum*10000+0.5)/10000.);}}}3.求2/1+3/2+5/3+8/5+...输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入一个正整数n,输出2/1+3/2+5/3+8/5 +...的前n项之和,保留4位小数(不足4位时,不必用0填满4位)。

(该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子)例:括号内是说明输入3 (repeat=3)1 5 20输出2.0 (第1项是2.0)8.3917 (前5项的和是8.3917)32.6603 (前20项的和是32.6603)import java.util.Scanner;public class Test40011 {public static void main(String[] args) {int ri, repeat;int i,n;float a,b,s,t;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){n=in.nextInt();/*--------------------*/a=1; //分母b=2; //分子s=0;for(i=1;i<=n;i++) {s+=b/a;t=a;a=b; //分母是前一项的分子b=t+b; //分子是前一项分子与分母的和}System.out.println((int)(s*10000+.5)/10000.);}}}4.求a+aa+aaa+aa…a输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入2个正整数a和n, 求a+aa+aaa+aa…a(n个a)之和。

例:括号内是说明输入2 (repeat=2)2 3 (a=2, n=3)8 5 (a=8, n=5)输出246 (2+22+222)98760 (8+88+888+8888+88888)import java.util.Scanner;public class Test40012{public static void main(String args[]){int ri, repeat;int i, n, a, sn, tn;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){a=in.nextInt();n=in.nextInt();/*--------------------*/tn=a;sn=0;for(i=1;i<=n;i++){sn+=tn;tn=tn*10+a; //迭代公式}System.out.println(sn);}}}5.判断素数输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入一个正整数m,如果它是素数,输出"YES",否则,输出"NO"(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。

例:括号内是说明输入4 (repeat=4)1 2 9 17输出NO (1不是素数)YES (2是素数)NO (9不是素数)YES (17是素数)import java.util.Scanner;public class Test40013{public static void main(String args[]){int ri, repeat;int i, m, n;boolean flag;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){m=in.nextInt();/*--------------------*/flag=true;if(m==1)flag=false;for(i=2;i<=m-1;i++)if(m%i==0){flag=false;break;}if(flag) System.out.println("YES");else System.out.println("NO");}}}说明:变量n未用到6.求最小公倍数和最大公约数输入一个正整数repeat (0<repeat<10),做repeat 次下列运算:输入两个正整数m和n,输出它们的最小公倍数和最大公约数。

输入输出示例:括号内为说明输入:3 (repeat=3)3 7 (m=3,n=7)24 4 (m=24,n=4)24 18 (m=24,n=18)输出:the least common multiple:21, the greatest common divisor:1 the least common multiple:24, the greatest common divisor:4 the least common multiple:72, the greatest common divisor:6import java.util.*;public class Test40014 {public static void main(String []args){Scanner in=new Scanner(System.in);int gcd, lcm, m, n,r;int repeat, ri;repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){m=in.nextInt();n=in.nextInt();if(m<= 0||n<= 0)System.out.println("m <= 0 or n <= 0");else {/*---------*/lcm=m*n;if(m<n){r=m;m=n;n=r;}r=m%n;while(r!=0){m=n; n=r; r=m%n;}gcd=n;lcm=lcm/gcd;System.out.println("the least common multiple:"+lcm+", the greatest common divisor:"+gcd);}}}}7.求1 + 1/2! +....+ 1/n!输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入1 个正整数n,计算s 的前n项的和。

s = 1 + 1/2! +....+ 1/n!例:括号内是说明输入:2 (repeat=2)2 (n=2)10 (n=10)输出:1.51.7183import java.util.Scanner;public class Test40021{public static void main(String args[]){ int ri, repeat;int i,n;float s,t;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){n=in.nextInt();/*--------------------*/s=0;t=1;for(i=1;i<=n;i++){t*=i;s+=1/t; //如果这两条语句交换位置,则i=1要改成i=2}System.out.println((int)(s*10000+0.5)/10000.);}}}8.求各位数字的立方和等于它本身的数。

相关文档
最新文档