第14节:Java练习题【多测师_王sir】

题目:
假如字母a=1, b=2以此规律到z=26 ,那么请设计一个计算器来计算  aeb + cfd 的和,和为整数

package com.xuexi;
import java.util.Arrays;
import java.util.Scanner;
public class Topic3 {
   private static char []letter={'a','b','c','d','e','f','g','h','i','j', 'k','l', 'm','n','o','p',
'q','r','s','t', 'u','v','w','x','y','z'}; public static void main(String[] args) { /** * 假如字母a=1, b=2以此规律到z=26 。 * 那么请设计一个计算器来计算 aeb + cfd 的和,和为整数 */ //1、给字母定义值 //2、使用控制台输入两次字母 //3、提取字母 //4、对提取的字母进行相加 //1、给字母定义值 //2、使用控制台输入两次字母 Scanner scanner =new Scanner(System.in); System.out.println("输入第一次字符串"); String string=scanner.next(); System.out.println("输入第二次字符串"); String string1=scanner.next(); Integer intg1=Topic3.xunhuan(string); Integer intg2=Topic3.xunhuan(string); // 把拼接好的字符串转换成数字 // 把数字相加 int he = intg1+intg2; System.out.println("你输入的两个字母字符串的和:" +"int1"+"+"+"int2"+"="+ he); } /** * 将输入的字母转换成数组 * @param string * @return */ public static Integer xunhuan(String string){ char[] cha = string.toCharArray(); //new一个StringBuilder对象builder1 StringBuilder builder1=new StringBuilder(); //循环用户的数组 for (int i = 0; i <cha.length ; i++) { //查找输入每个字母对应的索引,并加一,即a=1,z=26 int a =Arrays.binarySearch(letter,cha[i]); builder1.append(a+1); } Integer int1=new Integer(builder1.toString()); return int1; } }
1,编写一个类Book,代表教材:
     具有属性:名称(title)、页数(pageNum),其中页数不能少于200页,否则输出错误信息,并赋予默认值200
     为各属性设置赋值和取值方法
     具有方法:detail,用来在控制台输出每本教材的名称和页数
     编写测试类BookTest进行测试:为Book对象的属性赋予初始值,并调用Book对象的detail方法,看看输出是否正确



package com.company;

import java.util.Scanner;

public class Book {
    //1、定义属性名称(title)、页数(pageNum)
    //2、页数不能少于200页,否则输出错误信息,并赋予默认值200,为各属性设置赋值和取值方法
    //3、具有方法:detail,用来在控制台输出每本教材的名称和页数
    //4、编写测试类BookTest进行测试
    //5、为Book对象的属性赋予初始值,并调用Book对象的detail方法,看看输出是否正确
    //1、定义属性名称(title)、页数(pageNum)
    private String title;//定义属性名称(title)
    private int pageNum;//定义页数(pageNum)
    //2、页数不能少于200页,否则输出错误信息,并赋予默认值200,为各属性设置赋值和取值方法
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public int getPageNum() {
        return pageNum;
    }
    public void setPageNum(int pageNum) {
        this.pageNum = pageNum;
        if (pageNum<200){
            this.pageNum =200;
        }else{
            this.pageNum = pageNum;
        }
    }
    //3、具有方法:detail,用来在控制台输出每本教材的名称和页数
    public void detail(){
        Book book=new Book();
        book.setTitle(title);
        book.setPageNum(pageNum);
        System.out.println("教材名称:"+"《"+getTitle()+"》"+",教材页数:"+getPageNum());
    }
}

package com.company;
//4、编写测试类BookTest进行测试
class BookTest {
    public static void main(String[] args) {
        //5、为Book对象的属性赋予初始值,并调用Book对象的detail方法,看看输出是否正确
        Book book=new Book();
        book.setTitle("JAVA入门教材");
        book.setPageNum(450);
        book.detail();
        Book book1=new Book();
        book1.setTitle("JAVA进阶教材");
        book1.setPageNum(100);
        book1.detail();
    }
}
题目
2,使用Java的封装特性设计一个叫做Student的类:属性:姓名、年龄、性别、身高 。 行为:说话、计算加法、改名
     编写一个主类来测试Student类:名叫“张三”,性别“男”,年龄18岁,身高1.80;
    说出“我是张三”,调用计算加法方法来计算两个整数的值 和 计算两个字符串拼接的值
    将名字改为“李四”
package com.company;
//1、Java的封装特性设计一个叫做Student的类
public class Student {
    //1、Java的封装特性设计一个叫做Student的类
    //2、属性:姓名、年龄、性别、身高 。
    //3、行为:说话、计算加法、改名
    //4、编写一个主类来测试Student类:名叫“张三”,性别“男”,年龄18岁,身高1.80;
    //5、说出“我是张三”,调用计算加法方法来计算两个整数的值 和 计算两个字符串拼接的值,
    // 将名字改为“李四”
    //2、属性:姓名、年龄、性别、身高 。
    private  String name;
    private  String sex;
    private  int age;
    private  float higth;

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
        if (name == "我是张三");{
            this.name="李四";
        }
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = "男";
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = 18;
    }
    public float getHigth() {
        return higth;
    }
    public void setHigth(float higth) {
        this.higth = 1.80f;
    }
    @Override
    public String toString() {
        return "Student{" +
                "姓名:" + name+"  "+
                ", 性别:" + sex + "  " +
                ", 年龄:" + age +
                ", 身高:" + higth +
                '}';
    }
    //3、行为:说话、计算加法、改名
    public String speak(String speak){
        String speak1=speak;
        if (speak1 == "我是张三"){
            name="李四";
        }
        return name;
    }
    public int count(int a,int b){
        int c=a+b;
        return c;
    }
    public  String character(String aa,String bb){
        String cc=aa + bb;
        return cc;
    }

}


package com.company;

public class ZhuStudent {
    public static void main(String[] args) {
        Student student=new Student();
        student.setAge(18);
        student.setHigth(1.80f);
        student.setName("我是张三");
        student.setSex("男");
        System.out.println(student);

        String cc =student.speak("我是张三");
        System.out.println(cc);

        String aa=student.character("{1,2,3}","{a,b,c}");
        System.out.println(aa);

        int bb=student.count(123,345);
        System.out.println(bb);
    }
}
题目

3,使用Java的封装特性设计一个简单计算器类,类中包含加,减,乘,除方法,
     编写一个主类,通过控制台输入两个数和操作符号(+,-,*,/) 根据操作符号来计算两个数的结果

package com.company;

import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;

import java.sql.SQLOutput;
import java.util.Arrays;
import java.util.Scanner;

public class Calculator {
    //1、建立控制台
    //2、提取控制台里面的数字

    public static void main(String[] args) {

        Scanner scanner =new Scanner(System.in);
        System.out.println("请输入第一个数字");
        int number1=scanner.nextInt();

        Scanner scanner1=new Scanner(System.in);
        System.out.println("请输入运算符号");
        String symbol=scanner1.next();

        Scanner scanner2 =new Scanner(System.in);
        System.out.println("请输入第二个数字");
        int number2=scanner2.nextInt();

        char [] aa={'+','-','x','/'};
        char[] cha = symbol.toCharArray();
        StringBuilder builder1=new StringBuilder();
        for (int i = 0; i <cha.length ; i++) {
            //查找输入每个字母对应的索引,并加一,即a=1,z=26
            int a = Arrays.binarySearch(aa,cha[i]);
            builder1.append(a+1);
        }
        Integer aaa=new Integer(builder1.toString()) ;
        if(aaa== 1){
            System.out.println("运算结果:"+number1+"+"+number2+"="+(number1+number2));
        }
        if (aaa== 2){
            System.out.println("运算结果:"+number1+"-"+number2+"="+(number1-number2));
        }
        if (aaa == 3){
            System.out.println("运算结果:"+number1+"x"+number2+"="+((number1)*(number2)));
        }
        if (aaa == 4){
            System.out.println("运算结果:"+number1+"/"+number2+"="+((number1)/(number2)));
        }
    }
}
1、根据java继承特性列举五种继承关系。

①电脑        ->  台式电脑         笔记本电脑。
  台式电脑    ->  联想台式电脑     神州台式电脑。
  笔记本电脑  ->  苹果笔记本电脑   外星人笔记本电脑。

②椅子        ->  靠背椅           无靠背椅
  靠背椅      ->  软垫靠背椅       硬垫靠背椅
  无靠背椅    ->  软垫无靠背椅     硬垫无靠背椅

③植物        ->  花               树
  花          ->  无果花           有果花
  树          ->  针叶林树木       扩叶林树木

④门          ->  防盗门           防火门
  防火门      ->  玻璃防火门       钢质防火门
  防盗门      ->  木质防盗门       钢质防盗门

⑤动物        ->  哺乳动物         卵生动物
  哺乳动物    ->  猴子             猫
  卵生动物    ->  蛇               鸟

2、使用继承特性设计程序 一个学生,一个老师,学生有移动端存储设备,u盘32g,移动硬盘128g,老师讲完课把资料
文件拷贝给学生,学生会根据资料文件的大小来选择使用u盘32g还是移动硬盘128g拷贝(文件资料超过1024M用移动硬
盘,否则用u盘,老师会提前备好30天的课,课件文件在100m-2000m之间编写一个主类,使用循环来模拟老师上课30天
,那么请问30天后学生的u盘和移动硬盘中分别拷贝了多少文件, u盘和移动硬盘的存储空间还剩下多少M
package com.exercises; /** * 测试类 */ public class Test { public static void main(String[] args) { Student student =new Student(); student.setName("夏天"); student.setAge(18); student.setHdd(128); student.setUsb(32); System.out.println(student.toString()); Teacher teacher =new Teacher(); teacher.setName("张先生"); teacher.setAge(33); System.out.println(teacher.toString()); teacher.prepareLessons(); teacher.xunhuan(); } } package com.exercises; /** * 人 类 */ public class Man { //名字 public String name; //年龄 public int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "名字=" + name + ", 年龄=" + age; } } package com.exercises; /** * 学生 类 */ public class Student extends Man{ //U盘 private int usb=32; //移动硬盘 private int hdd=128; public int getUsb() { return usb; } public void setUsb(int usb) { this.usb = 32; } public int getHdd() { return hdd; } public void setHdd(int hdd) { this.hdd = 128; } @Override public String toString() { return "学生:" +super.toString()+ ", 有一个U盘=" + usb +"G"+ ", 有一个移动硬盘=" + hdd +"G"; } } package com.exercises; import java.util.Arrays; /** * 老师 类 */ public class Teacher extends Man { /** * 老师会备课 */ public void prepareLessons(){ System.out.println("老师会提前备好30天课"); } /** * 老师备课内容的文件大小 * @return */ private static int aa; private static int a; private static int b; public String xunhuan() { Student xs =new Student(); int u=xs.getUsb(); int h=xs.getHdd(); int aa1=0; int bb1=0; int [] array =new int[30]; for (int i = 0; i <array.length ; i++) { array[i]=(int)(Math.random()*1900)+100; aa=array[i]; if (aa<1024){ a=u*1024-aa; aa1=aa1+1; }else if (aa>=1024){ b=h*1024-aa; bb1=bb1+1; } } System.out.println("每次存储文件的大小:"+Arrays.toString(array)); System.out.println("U盘剩余储存空间"+a+"M"); System.out.println("移动硬盘剩余储存空间"+b+"M"); System.out.println("U盘储存文件"+aa1+"份"); System.out.println("U盘储存文件"+bb1+"份"); return ""; } @Override public String toString() { return "老师:" + "名字=" + name + ", 年龄=" + age; } }

 

posted @ 2020-09-02 15:49  多测师_王sir  阅读(274)  评论(0编辑  收藏  举报