251讲章节作业。面向对象基础的章节作业。
内容纲要

251讲章节作业。面向对象基础的章节作业。

file

public class Test01{
        public static void main(String[] args){
            double[] arr = {1,5,7,20,66,23,49,79};
            //第一道题
            A01 a = new A01();
            System.out.println("max = " + a.max(arr));

            //第二道题
            String[] arr1 = {"小猫","EZ","小喵","小庙"};
            A02 b = new A02();
            if(b.find(arr1,"EZ") != -1){
                System.out.println("找到了 下标为:" + b.find(arr1,"EZ"));
            }else {
                System.out.println("没有找到");
            }

            //第三道题
            Book myBook1 = new Book("西游记",300);
            Book myBook2 = new Book("红楼梦",30);
            myBook1.info();
            myBook1.updatePrise();
            myBook1.info();
            System.out.println("=============");
            myBook2.info();
            myBook2.updatePrise();
            myBook2.info();

        }
    }
    class A01{//第一道题
        public double max(double[] arr){
            double max = arr[0];
            for(int i = 1;i < arr.length;i++){
                max = max > arr[i] ? max : arr[i];
            }
            return max;
        }
    }
    class A02{//第二道题
        public int find(String[] arr,String str){
            for(int i = 0;i < arr.length;i++){
                if(str == arr[i]){
                    return i;
                }
            }
            return -1;
        }
    }
    class Book{
        double price;
        String name;

        public Book(String name, double price){
            this.name = name;
            this.price = price;
        }
        //编写类 Book,定义方法 updatePrice, 实现更改某本书的价格,
        //具体: 如果价格>150,则更改为150,如果价格> 100 。更改为100,否则不变
        public void updatePrise() {
            if (this.price > 150) {
                this.price = 150;
            } else if (this.price > 100) {
                this.price = 100;
            }
        }
        public void info(){
                System.out.println(name + "这本书的价格:" + price);

            }
        }

file

public class Homework04{
    public static void main(String[] args) {
        A03 a03 = new A03();
        String[] arr01 = {"123" , "1","2"};
        System.out.println("arr01的hashCode  " + arr01.hashCode());
        String[] arrNewB = a03.copyArr(arr01);
        System.out.println("arrNewB的hashCode  " + arrNewB.hashCode());
        for(String xm : arrNewB){
            System.out.print( xm + "\t");
        }
    }
}
class A03{
    /*
    * 编写类A03,实现数组的赋值功能copyArr,
    * 输入旧数组,返回一个新数组,元素和旧数组一样
    * */
    public String[] copyArr(String[] arr){
        String[] arrNew = new String[arr.length];
        for(int i = 0;i < arr.length;i++){
            arrNew[i] = arr[i];
        }
        return arrNew;
    }
}

file

  • 匿名对象只能用一次如下的代码 new Test( ).count1(); 用完之后就会销毁。

file

file

file

file

file

package main.daytwo;

public class Test01{
    public static void main(String[] args) {
        /*
        * 1)定义一个Circle类,包含一个double 型的redius 属性代表圆的半径,
        *   findArea()方法返回圆的面积。
        * 2)定义一个类PassObject, 在类中定义一个方法printAreas(), 该方法的定义如下:
        *   public void printAreas(Circle c, int times)  //方法签名/声明
        * 3)在printAreas 方法中打印输出1 到times 之间的每个整数半径值,以及对应的面积。
        *   例如,times 为5,则输出半径1,2,3,4,5,以及对应的圆面积。
        * 4)在main 方法中调用printAreas() 方法,调用完毕后输出当前半径值。程序运行结果如图。(没有图)
        * */
        PassObject printAreas = new PassObject(5);
        Circle c = new Circle();
        c.findArea(1.0);
        printAreas.printArea(c,5);
    }
}
class Circle {

    //    1)定义一个Circle类,包含一个double 型的redius 属性代表圆的半径,
//            *   findArea()方法返回圆的面积。
    public double findArea(double radius) {
        return Math.PI * radius * radius;
    }
}
//    2)定义一个类PassObject, 在类中定义一个方法printAreas(), 该方法的定义如下:
//            *   public void printAreas(Circle c, int times)  //方法签名/声明
class PassObject{
    int times;
    public PassObject(int times){
        this.times = times;
    }
    public void printArea(Circle c,int times){
        System.out.println("Radius"+ "\t" + "Area" );
        double i = 1;
        do {
            System.out.println(i + "\t" + c.findArea(i));//老韩减少了此处创建对象的次数。。。
            i++;  
        }while(i <= times);
    }
}
  • 老韩在Circle类中定义了一个setRadius方法,减少每次在 printArea方法中都要创建Cirtle类中的对象次数。

file

package main.daytwo;

import java.util.Scanner;

public class Test01 {
    public static void main(String[] args) {
        /*
         * 有个Tom 设计他的成员变量.成员方法,可以电脑猜拳。
         * 电脑每次都会随机生成0 ,1 ,2
         * 0代表石头 1代表见到  2代表布
         * 并要求可以显示Tom 的输赢次数(清单)。
         * */
        Scanner myScanner = new Scanner(System.in);
        System.out.println("请输入猜拳次数");
        int times = myScanner.nextInt();
        for (int i = 0; i < times; i++) {
            System.out.println("请输入0,1,2(0代表石头,1代表剪刀,2代表布");
            int n = myScanner.nextInt();
            Tom tom = new Tom(n);
            String str = tom.method();
            System.out.println("TOM  " + "电脑   " + "输赢");
            System.out.println(n + "   "+ tom.num + "   " + str);
            System.out.println("tom赢的次数" + tom.tomWin);
        }
    }
}
class Tom {
    int tomEnter;
    static int tomWin = 0;
    int tomLose = 0;
    int num = (int) (2 * Math.random());
    public Tom(int n) {//构造方法限定传入参数必须是整数。
        tomEnter = n;
    }
    /*
    思路分析
    1. int num = Math.random * 2
    2. if-else语句判断tom是否赢。
    3. 使用Scanner来确定tom是否继续。顺便记录下输赢次数。
     */
    public String method() {

        if (tomEnter == 0 && num == 1) {
            tomWin++;
            return "Tom WIN";
        } else if (tomEnter == 1 && num == 2) {
            tomWin++;
            return "Tom WIN";
        } else if (tomEnter == 2 && num == 0) {
            tomWin++;
            return "Tom WIN";
        } else if (tomEnter == num) {
            return "Tom 平手";
        } else
            tomLose++;
        return "Tom DEFEAT";
    }
}
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇