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

本文主要是介绍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();

    }

}

这篇关于Java 编程基础及应用 主编 强彦 赵娟娟 高等教育出版社 课后习题部分代码实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/829862

相关文章

Java StringBuilder 实现原理全攻略

《JavaStringBuilder实现原理全攻略》StringBuilder是Java提供的可变字符序列类,位于java.lang包中,专门用于高效处理字符串的拼接和修改操作,本文给大家介绍Ja... 目录一、StringBuilder 基本概述核心特性二、StringBuilder 核心实现2.1 内部

Android实现图片浏览功能的示例详解(附带源码)

《Android实现图片浏览功能的示例详解(附带源码)》在许多应用中,都需要展示图片并支持用户进行浏览,本文主要为大家介绍了如何通过Android实现图片浏览功能,感兴趣的小伙伴可以跟随小编一起学习一... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码

SpringBoot AspectJ切面配合自定义注解实现权限校验的示例详解

《SpringBootAspectJ切面配合自定义注解实现权限校验的示例详解》本文章介绍了如何通过创建自定义的权限校验注解,配合AspectJ切面拦截注解实现权限校验,本文结合实例代码给大家介绍的非... 目录1. 创建权限校验注解2. 创建ASPectJ切面拦截注解校验权限3. 用法示例A. 参考文章本文

Java中字符编码问题的解决方法详解

《Java中字符编码问题的解决方法详解》在日常Java开发中,字符编码问题是一个非常常见却又特别容易踩坑的地方,这篇文章就带你一步一步看清楚字符编码的来龙去脉,并结合可运行的代码,看看如何在Java项... 目录前言背景:为什么会出现编码问题常见场景分析控制台输出乱码文件读写乱码数据库存取乱码解决方案统一使

Java Stream流与使用操作指南

《JavaStream流与使用操作指南》Stream不是数据结构,而是一种高级的数据处理工具,允许你以声明式的方式处理数据集合,类似于SQL语句操作数据库,本文给大家介绍JavaStream流与使用... 目录一、什么是stream流二、创建stream流1.单列集合创建stream流2.双列集合创建str

springboot集成easypoi导出word换行处理过程

《springboot集成easypoi导出word换行处理过程》SpringBoot集成Easypoi导出Word时,换行符n失效显示为空格,解决方法包括生成段落或替换模板中n为回车,同时需确... 目录项目场景问题描述解决方案第一种:生成段落的方式第二种:替换模板的情况,换行符替换成回车总结项目场景s

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

SpringBoot中@Value注入静态变量方式

《SpringBoot中@Value注入静态变量方式》SpringBoot中静态变量无法直接用@Value注入,需通过setter方法,@Value(${})从属性文件获取值,@Value(#{})用... 目录项目场景解决方案注解说明1、@Value("${}")使用示例2、@Value("#{}"php

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

线上Java OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具