java语言程序设计第四版课后答案 java基础入门第三版答案
大家好,关于java语言程序设计第四版课后答案很多朋友都还不太明白,今天小编就来为大家分享关于java基础入门第三版答案的知识,希望对各位有所帮助!
JAVA语言程序设计题目,求高人解答
3-1
有main方法的就是主类,
错误1:String[] args的String大写,并且中间有空格
保存在MyJavaClass名字的文件里
错误2:System.out.println("程序结束。");只能写在main方法里
3-2.标识符只能由字母或数字和_和$构成,不能以数字开头,只能以字母或_或$开头,并且不能是关键字
1 2 5对 3错:不能以数字开头,4错:只能由字母或数字和_和$构成
3-8
2
2
false
2
JAVA语言程序设计两道练习题。谢谢!
第一题有问题:1、创建Person接口(即“人”),它有setData()和getData()方法对“人”属性name、sex和birthday赋值和获得这些属性组成的字符串信息。
问题是:你说要创建一个人(接口),然后里面有方法对人的属性进行赋值?这怎么可能呢,接口是没有成员变量(属性)的,怎么能赋值?接口里只能有常量。
第二题可以答一下:
package pillar;
public class Pillar{ private Geometry buttom;
private double height;
public Pillar(){
// TODO Auto-generated constructor stub
}
public Pillar(Geometry button,double height){
this.buttom= button;
this.height= height;
}
public double getVolume(){
return this.buttom.getArea()*height;
}
public Geometry getButtom(){
return buttom;
}
public void setButtom(Geometry buttom){
this.buttom= buttom;
}
public double getHeight(){
return height;
}
public void setHeight(double height){
this.height= height;
}
}
------------------------------------------------类分割线---------------------------------------------------------
package pillar;
public interface Geometry{ double getArea();
}
------------------------------------------------类分割线---------------------------------------------------------
package pillar;
public class Circle implements Geometry{ private double r;
public Circle(){
// TODO Auto-generated constructor stub
}
public Circle(double r){
this.r= r;
}
public double getArea(){ return Math.PI*r*r;
}
public double getR(){
return r;
}
public void setR(double r){
this.r= r;
}
}
------------------------------------------------类分割线---------------------------------------------------------
package pillar;
public class Rectangle implements Geometry{ private double width;
private double height;
public Rectangle(){
// TODO Auto-generated constructor stub
}
public Rectangle(double width, double height){
this.width= width;
this.height= height;
}
public double getArea(){ return this.width*this.height;
}
public double getWidth(){
return width;
}
public void setWidth(double width){
this.width= width;
}
public double getHeight(){
return height;
}
public void setHeight(double height){
this.height= height;
}
}
------------------------------------------------类分割线---------------------------------------------------------
package pillar;
public class TestPillar{
/***@param args
*/
public static void main(String[] args){
Circle c= new Circle(5);
Rectangle r= new Rectangle(3,4);
Pillar p1= new Pillar(c,6);
Pillar p2= new Pillar(r,6);
System.out.println("圆的体积:"+p1.getVolume()+"\t矩形的体积:"+p2.getVolume());
}
}
Java语言与面向对象程序设计
第一次写插入排序的,写得有点乱,但是加了注释后应该是比较容易理解的:
public class InsertSort{
public static void main(String[] args){
int[] nums={15, 5, 56, 8, 2};
sort(nums,0);
}
public static int[] sort(int[] nums,int start){
//定义新的数组,用来存储每一次排序后的结果
int[] result=new int[nums.length];
//如果开始的下标大于0,则先把之前已排序好的元素拷贝进来
if(start>0){
for(int i=0;i<start;i++){
result[i]=nums[i];
}
}
int tag=start;//定义用来存储该次最小元素的下标
int min=nums[start];
//从当前下标开始,查找数组中的最小元素,并更新下标
for(int i=start;i<nums.length;i++){
for(int j=i+1;j<nums.length;j++){
if(min>nums[j]){
min=nums[j];
tag=j;
}
}
}
//将该次排序后最小的元素存储在开始下标处的位置
result[start]=min;
for(int i=start;i<tag;i++){
result[i+1]=nums[i];
}
//将从当前开始下标处到最后的所有元素原样保存到新数组
for(int i=tag+1;i<nums.length;i++){
result[i]=nums[i];
}
//-----------遍历每一次排序后的数组----------
String split="";
for(int i=0;i<result.length;i++){
System.out.print(split+result[i]);
split=",";
}
System.out.println();
//---------遍历结束------------
//将这一次开始的下标自加,作为下一个排序要开始的下标
start++;
//如果当前开始的下标已经达到最大值,则返回结果数组,否则将该次排序后的数组递归排序
if(start==nums.length-1){
return result;
}else{
return sort(result,start);
}
}
}
顺便说一下,一楼的,你写的不是插入法排序的啊,而且你也没有输出每一次的排序结果。
关于java语言程序设计第四版课后答案的内容到此结束,希望对大家有所帮助。