Java 編程基礎及應用 主編 強彥 趙娟娟 高等教育出版社 課後習題部分代碼實現

第一章   引論

第二章   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();

    }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章