Java 编程基础及应用 主编 强彦 赵娟娟 高等教育出版社 课后习题部分代码实现

5 篇文章 0 订阅
5 篇文章 0 订阅

第一章   引论

第二章   Java语言基础

9 编写一个程序,输出你的姓名、年龄、所在学院、所在专业和所在班级

   

public class Student {

       private String name;

       private int age;

       private String xueyuan;

       private String zhuanye;

       private String banji;

 

       public Student(){

             

       }

       public Student(String name,int age,String xueyuan,String zhuanye,String banji){

              this.name=name;

              this.age=age;

              this.xueyuan=xueyuan;

              this.zhuanye=zhuanye;

              this.banji=banji;

             

       }

       public void ShowInfo(){

              System.out.println(this);

       }

       public String toString(){

             

              return "[学生]\n姓名:" +name+"\n年龄: "+age+"\n所在学院:"+xueyuan+"\n所在专业:"+zhuanye+"\n所在班级:"+banji;           

       }

       public String getName(){

              return name;

       }

       public void setName(){

              this.name=name;

       }

              public int geyAge(){

              return age;

       }

       public void setAge(){

              this.age=age;

       }

      

       public String getXueyuan(){

              return xueyuan;

       }

       public void setXueyuan(){

              this.xueyuan=xueyuan;

       }       

       public String getZhuanye(){

              return zhuanye;

       }

       public void setZhuanye(){

              this.zhuanye=zhuanye;

       }

      

      

       public String getBanji(){

              return banji;

       }

       public void setBanji(){

              this.banji=banji;

       }

}

public class Text {

       public static void main(String age[]){

              Student s=new Student("chen陈三,"基础科学与技术学院","计算机科学与技术","计科一班");

              s.ShowInfo();

       }

 

}

第三章  运算符、表达式和语句

7、分别用if、switch两种语句编写将0-11的整数转换为十二个月份的程序段,假定数字0对应一月份

package cpf;

 

import java.util.Scanner;

 

public class P53di7ti {

    public static void main(String[] args) {

 

        int mouth;

 

        do{

 

        System.out.println("请输入月份:");

 

        mouth=new Scanner(System.in).nextInt();

 

        switch(mouth){

 

        case 0:System.out.println("一月");break;

 

        case 1:System.out.println("二月");break;

 

        case 2:System.out.println("三月");break;

 

        case 3:System.out.println("四月");break;

 

        case 4:System.out.println("五月");break;

 

        case 5:System.out.println("六月");break;

 

        case 6:System.out.println("七月");break;

 

        case 7:System.out.println("八月");break;

 

        case 8:System.out.println("九月");break;

 

        case 9:System.out.println("十月");break;

 

        case 10:System.out.println("十一月");break;

 

        case 11:System.out.println("十二月");break;

 

        default:System.out.println("请重新输入月份");break;

        }

        }while (mouth>=0&&mouth<=11);

        }   

}

第四章   数组

21、有一个整数数组,其中存放着1,3,5,7,9,11,13,15,17,19.将该序列倒叙存放输出

package cpf;

 

public class P7421 {

    public static void main(String args[]) {

    int [] arr= {1,3,5,7,9,11,13,15,17,19};

   

    for(int i=9;i>=0;i--) {

       

        System.out.println(arr[i]);

    }

 

}

    }

 

 

 

 

22、编写一个程序,提示用户输入学生的数量、姓名和他们的成绩,并按照成绩的降序打印学生姓名

package cpf;

 

import java.util.Scanner;

 

public class P7422 {

    private String name;

    private int score;

    public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }

    public int getScore() {

        return score;

    }

    public void setScore(int score) {

       

        this.score = score;

    }

    public void sort(P7422[] stu,int count)

    {

        P7422 temp;

        for(int i=0;i<count;i++)

        {

            for(int j=0;j<count-i-1;j++)

            {

                if (stu[j].getScore()<stu[j+1].getScore())

                {

                   temp=stu[j];

                   stu[j]=stu[j+1];

                   stu[j+1]=temp;

                }

            }

        }

    }

    public void print(P7422[] stu,int count){

        for (int i=0; i<count;i++) {

            System.out.println(stu[i].getName()+" "+stu[i].getScore());

        }

    }

}

package cpf;

 

import java.util.Scanner;

 

public class P742211 {

    public static void main(String[] args){

        P7422 s=new P7422();

        P7422[] stu= new P7422[20];

        Scanner input= new Scanner(System.in);

        System.out.println("请输入学生个数:");

        int count=input.nextInt();

        int num=0;

        while(num<count) {

        System.out.println("请输入第"+(num+1)+"个学生的姓名和分数:");

            Scanner scan=new Scanner(System.in);

            String strLine=scan.nextLine();

            String[] strLineArr = strLine.split(" ");

            P7422 st = new P7422();

            st.setName(strLineArr[0]);

            st.setScore(Integer.parseInt(strLineArr[1]));

            stu[num]=st;

            num++;

        }

         s.sort(stu,count);

        System.out.println("排序后的学生信息为:");

        s.print(stu,count);

    }

}

23、编写一个程序,求出整数数组中最小匀速的下标。如果这样的元素个数大于1的时候,则返回下标最小的数的下标

package cpf;

 

public class P7423zuixiaoshuxiabiao {

  public static void main (String args[]){

        int i,min;

        int n=0;

        int cpf[]={88,55,1,22,11,99,66,33,125,1};

        min=cpf[0];

        for(i=1;i<10;i++)

        {

            if(min>cpf[i])

            {

                min=cpf[i];

                n=i;

               

            }

        }

        System.out.println("最小数的下标为: "+n);

           

        }

    }

 

 

24、有两个数组:数组a,7,9,11,13,15,17,19,数组b为2.4.6.8.10.将两个数组组合并为数组c按升序排列

package cpf;

public class P7424paixu {

    public static void main(String args[]){

        int i,j,temp;

        int a[]={1,7,9,11,13,15,17,19};

        int b[]={2,4,6,8,10};

        int c[]=new int[15];

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

            c[i]=a[i];

            }

        for (i=a.length,j=0;j<b.length;j++,i++)

        {

            c[i]=b[j];

        }

        for(i=0;i<c.length-1;i++)

        {

         for(j=0;j<c.length-1-i;j++)

         {

             if(c[j]>c[j+1])

             {

                 temp=c[j+1];

                 c[j+1]=c[j];

                 c[j]=temp;

             }

         }

        }

        for(i=0;i<c.length;i++)

         {

             System.out.print(c[i]+" ");

         }     

    }

 

}

第五章 类和duix对象

10、构造一个银行账户类,类中包括如下内容:

(1) 成员变量:用户的账户名称、用户的账户余额(private类型)

(2)成员方法:开户(设置账户名称及余额),利用构造方法完成。

(3)查询余额

public class P95di10ti {

    private String name;// 账户名称

     private float balance;// 用户的账户余额

     public P95di10ti(String name, float balance) { // 开户(设置账户名称及余额),

      this.name = name;

      this.balance = balance;

     }

     public String search() {// 查询余额

      return "账户 名称:" + this.name + "\t\t " + "余额为 " + this.balance+"元整";

     }

     public String getName() {

      return name;

     }

     public void setName(String name) {

      this.name = name;

     }

     public float getBalance() {

      return balance;

     }

     public void setBalance(float balance) {

      this.balance = balance;

     }

 

}

package cpf;

 

public class Text2 {

 

    public static void main(String[] args) {

          P95di10ti acc1 = new P95di10ti("陈三", 99999999999f);// 利用构造方法开户

          System.out.println(acc1.search());//查询余额

         }

 

}

 

 

 

 

11、声明一个图书馆类,其数据成员为书名、编号(利用静态变量实现自动编号)、书价,并拥有静态数据成员册数,记录图书的总册数;在构造方法中,利用静态变量为对iangde编号赋值,在主方法中定义对象数组,并求出总册数。

package cpf;

 

public class P95di11ti {

    private String name;

     private int no = 000;

     private float price;

     private static int count = 0;

     private static int sumCnt = 0;

     public P95di11ti(String name, float price, int count) {

      this.sumCnt = this.sumCnt + count;

      this.no = sumCnt;

      this.name = name;

      this.price = price;

      this.count = count;

     }

     public void print() {

      System.out.println("书名: " + this.getName() + "\t" + "编号: "

        + this.getNo() + "\t" + "价格: " + this.getPrice() + "\t"

        + "册数: " + this.getCount());

      System.out.println("\n" + "总册书为:" + sumCnt);

     }

     public String getName() {

      return name;

     }

     public void setName(String name) {

      this.name = name;

     }

     public float getPrice() {

      return price;

     }

     public void setPrice(float price) {

      this.price = price;

     }

     public static int getCount() {

      return count;

     }

     public static void setCount(int count) {

      P95di11ti.count = count;

     }

     public int getNo() {

      return no;

     }

     public void setNo(int no) {

      this.no = no;

     }

     public static int getSumCnt() {

      return sumCnt;

     }

     public static void setSumCnt(int sumCnt) {

      P95di11ti.sumCnt = sumCnt;

     }

 

}

/*public class Book1 {

    public static void main(String args[]) {

          Book book1 = new Book("Java编程基础及应用", 36.0f, 10);

          book1.print();

          Book book2 = new Book("Java大学实用教程", 20.5f, 4);

          book2.print();

          Book book3 = new Book("名侦探柯南", 36.0f, 6);

          book3.print();

          Book book4 = new Book("JavaEE基础实用教程", 26.8f, 10);

          book4.print();

         }

*/

第六章    类的继承与多态

12、定义一个长方形类,该类拥有长、宽、高3个属性及计算体积的方法;定义一个子类继承该长方体类,增加成员变量重量,并增加计算长方体表面积的方法。

package cpf;

 

public class P106di12ti {

    double length;

    double width;

 

    double height;

 

    public P106di12ti(int i, int j, int k) {

        // TODO Auto-generated constructor stub

    }

 

    public void P106di12ti(double length,double width,double height)

 

    {

 

    this.length= length;

 

    this.width= width;

 

    this.height=height;

 

    }

 

    public  Object computeVolume()

 

    {

 

    return this.length*this.height*this.width;

 

    }

 

    }

package cpf;

public class Text3 {

    public static void main(String args[]) {

        P106di12ti r1=new P106di12ti(8,10,10);

 

        System.out.println("长方体体积为"+r1.computeVolume());

 

        Cuboid r2=new Cuboid(10,10,10,10);

 

        System.out.println("长方体表面积为"+r2.computeArea());

            }

}

第七章  内部类和异常

编写一个使用自定义异常的小程序

(1)定义mytest

   Import java.io.*;

   Public class mytest{

Privatestatic int quotient(int number,int denominator)throw

DivideByZeroException{

if(denominator==0)

thrownewDivideByZeroException();

return(number/denominator);

}

publicstaticvoidmain(Stringargs[]){

intnumber1=0,number2=0,result=0;

try{

System.out.println("输入第一个数字:");

number1=Integer.valueOf(Keyboard.getString()).intValue();

System.out.println("输入第二个数字:");

number2=Integer.valueOf(Keyboard.getString()).intValue();

result=quotient(number1,number2);

}

catch(NumberFormatExceptione){

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

System.exit(-1);

}

System.out.println(number1+"/"+number2+"="+result);

}

}

}

第八章   多线程 

      1)一个线程输出100个1-26,另一个线程输出100个A-Z

   (2)一个行程使用继承Thread类的写法,另一个线程使用实现Runnable接口的写法

package cpf;

 

public class ThreadTest {

    class T1 extends Thread {

        public void run() {

            for (int i = 0; i < 3; i++) {

                for (int j = 1; j <= 26; j++)

                {

                    System.out.println(j);

                    }

                }

            }

        }

    class T2 implements Runnable {

        char[] c = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray();

        @Override

        public void run() {

            for (int i = 0; i < 3; i++) {

                for (int j = 0; j < c.length; j++) {

                    System.out.println(c[j]);

                    }

                }

            }

        }

    public void test() {

        Thread t1 = new T1();

        Thread t2 = new Thread(new T2());

        t1.start();

        t2.start();

        }

    public static void main(String[] args) {

        ThreadTest threadTest = new ThreadTest();

        threadTest.test();

        }

    }

第九章  接口和实现

试编写一个People接口,定义一个抽象类Employee,定义一个具体类Mannagment继承Employee类,并编写测试运行类。

package cpf;

 

public interface People {

    void people();

 

}

package cpf;

 

 class  Management implements People{

    public void people() {

        System.out.println("我是一名管理层的领导!");

    }

 

}

package cpf;

 

 class Employee implements People{

    public void people() {

        System.out.println("我是一名普通员工!");

    }

}

package cpf;

 

public class InterfaceTest {

 

    public static void main(String arge[]) {

        People a=new Employee();

        People b=new Management();

        a.people();

        b.people();

    }

}

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

I心暖存人T

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值