尚学堂Java第四章作业编码题+个人想法

尚学堂Java第四章作业编码题+个人想法

刚开始学习Java,刚开始学会做笔记,觉悟的可能比较晚,但没关系,我会努力的!

由于每次做作业都难理解,不想单纯的把作业做出来,所以就多了很多个人想法,可能结果跟作业不一样,但是作业所需的都在里面喔!

希望有前辈,师傅,大佬瞄一眼,指点一下下我这个小家伙,我会认真的学习的!

那就来看作业把!

编码题一:

题目: 编写 Java 程序用于显示人的姓名和年龄。定义一个人类Person。 该类中应该有两个私有属性: 姓名 (name) 和年龄 (age) 。定义构造方法用来初始化数据成员。再定义显示(display()) 方法将姓名和年龄打印出来。在 main 方法中创建人类的实例然后将信息显示。

这里我弄成有交互的,读取键盘的内容来返回姓名跟年龄!!!

package dylan.linger.show;

import java.util.Scanner;
/**
 * @author Linger
 * 输入名字年龄,然后显示姓名和年龄
 *
 */
public class NameAndAge {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("您的名字是:");
        String name = scanner.nextLine();
        System.out.print("您的年龄是:");
        int age = scanner.nextInt();

        Persion persion = new Persion(name,age);
        persion.display();
    }

}

class Persion{
    private String name;        //私有属性所以使用private
    private int age;

    Persion(String name,int age){       //Persion的构造方法,用来赋值
        this.name = name;
        this.age = age;
    }

    void display(){     //调用这个方法会输出下面的内容
        System.out.println("名字是:"+name);
        System.out.println("年龄是:"+age);
        }
}

这就是结果:
在这里插入图片描述

编码题二:

题目: 定义一个圆类——Circle,在类的内部提供一个属性:半径®,同时 提供 两个 方 法 : 计算 面积 ( getArea() ) 和 计算 周长(getPerimeter()) 。 通过两个方法计算圆的周长和面积并且对计算结果进行输出。最后定义一个测试类对 Circle 类进行使用。

这里我也仅仅加了交互,方便偷懒可以计算,本来是有其他想法的,奈何水平如此,加油!
(PS:我的数学真的有点差,只能用更多的时间去理解啦!)

package dylan.linger.show;

import java.util.Scanner;

/**
 * @author Linger
 * 计算圆的周长以及面积
 */

public class CirclePerimeter {
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入要计算的半径:");
        int r = scanner.nextInt();
        Circle circle = new Circle(r);
        circle.GetArea();
        circle.GetPerimeter();
    }
}
class Circle{
    int r;
    Circle(int r){
        this.r=r;
    }
    void GetArea(){
        System.out.println("半径为"+r+"的面积为:" + Math.PI * Math.pow(r,2.0));
    }
    void GetPerimeter(){
        System.out.println("半径为"+r+"的周长为:" + 2 * Math.PI * r);
    }
}

结果是这样的:
在这里插入图片描述

编码题三:

题目: 构造方法与重载:定义一个网络用户类,信息有用户 ID、用户密码、 email 地址。在建立类的实例时把以上三个信息都作为构造函数的参数输入, 其中用户 ID 和用户密码时必须缺省时 email地址是用户 ID 加上字符串"@gameschool.com"。

终于到我想说的地方了

题目的最后一句我怀疑是少了一部分字,应该是用户ID和密码必须有,Email可缺省,不知是否理解对。
这一题我改的好像有点不一样了,我再次选择了交互式,绞尽脑汁做成了输入一位,输出一位的信息,几个if判断也是抓破头皮,(PS:外界干扰太难了我)其中的id我设置成了自增长,这里我确实是卡了很久ya。

package dylan.iinger.show;


import java.util.Scanner;

/**
 * @author Linger
 *
 * 输入用户消息,然后显示数据
 */

public class ShowContent {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int id = 0;
        while(true){    //设置循环,重复输入数据方便测试
            System.out.println("-----0=No,  1=Yes-------");
            System.out.print("请问需要输入用户信息吗?0/1:");
            int login = scanner.nextInt();

            if (login==1) {         //判断是否需要输入消息
                System.out.println("请输入用户名:");
                String name = scanner.next();

                System.out.println("请输入密码:");
                String passwd = scanner.next();

                System.out.println("-----0=No,  1=Yes-------");
                System.out.println("请问是否自动生成邮箱?0/1");
                int check_mail = scanner.nextInt();

                if (check_mail == 0) {      //判断是否需要生邮箱
                    System.out.println("请输入用邮箱:");
                    String e_mail = scanner.next();
                    id += 1;
                    User user = new User(id,name,passwd,e_mail); //传有邮箱的参数至User类
                    user.Show();
                }else{
                    id += 1;
                    User user = new User(id,name,passwd);  //传无邮箱的参数至User类
                    user.Show();
                }
            }else{
                System.out.println("Goodbye!");
                return;
            }
        }
    }
}

class User {
    int id;
    String name;
    String passwd;
    String e_mail;

    User(int id,String name,String passwd){
        ShowContent s = new ShowContent();
        this.id = id;
        this.name = name;
        this.passwd = passwd;
        this.e_mail = name+"@gameschool.com";
    }
    User(int id,String name,String passwd,String e_mail){
        this.id = id;
        this.name = name;
        this.passwd = passwd;
        this.e_mail = e_mail;
    }
    void Show(){
        System.out.println("***********************");
        System.out.println("用户id为:"+id);
        System.out.println("用户名为:"+name);
        System.out.println("密码为:"+passwd);
        System.out.println("邮箱为:"+e_mail);
        System.out.println("***********************");
    }
}

看效果吧!!!
在这里插入图片描述

这次的作业就做完啦!
做了我好久好久。
我会继续加油的!!!
我们一起吧d=====( ̄▽ ̄*)
——————————————————————————————— by Linger

发布了4 篇原创文章 · 获赞 0 · 访问量 144

猜你喜欢

转载自blog.csdn.net/dingdang_miao/article/details/105002201