java编程第七周作业

1.编写一个学生类,提供name、age、gender、phone、address、email成员变量,且为每个成员变量提供setter和getter方法,为学生类提供默认的构造器和带所有成员变量的构造器,为学生类提供方法,用于描述学习、吃饭、睡觉、运动等行为

class Student
{
	String name,gender,phone,address,email;
	int age;
	Student(String name,String gender,String phone,String address,String email,int age){
		this.name=name;
		this.gender=gender;
		this.phone=phone;
		this.address=address;
		this.email=email;
		this.age=age;
	}
	void setter_name(String name){
		this.name=name;
	}
	void setter_gender(String gender){
		this.gender=gender;
	}
	void setter_phone(String phone){
		this.phone=phone;
	}
	void setter_address(String address){
		this.address=address;
	}
	void setter_email(String email){
		this.email=email;
	}
	void setter_name(int age){
		this.age=age;
	}
	String get_name(String name){
		return name;
	}
	String get_gender(String gender){
		return gender;
	}
	String get_phone(String phone){
		return phone;
	}
	String get_address(String address){
		return address;
	}
	String get_email(String email){
		return email;
	}
	int get_age(int age){
		return age;
	}
	void eat(){
		System.out.println("我吃饭了!");
	}
	void study(){
		System.out.println("我学习了!");
	}
	void sleep(){
		System.out.println("我睡觉了!");
	}
	void sport(){
		System.out.println("我运动了!");
	}
}

2.利用第1题定义的Student类,定义一个Student[]数组保存多个Student对象作为通讯录数据。程序可通过name、email、address查询,如果找不到数据,则进行友好提示。

Java输入可以写为

Scanner in = new Scanner(System.in);
        System.out.println("请输入名字或邮箱或地址中的一个:");
        String input = in.next();

解答:

import java.util.*;
 
public class Student
{
	//定义六个成员变量,并隐藏起来
	private String name;
	private int age;
	private String gender;
	private String phone;
	private String address;
	private String email;
 
	//提供操作name成员变量的方法
	public void setName(String name)
	{
		//执行合理性校验,要求学生姓名必须在2-8位之间
		if (name.length()>8 || name.length()<2) 
		{
			System.out.println("输入的学生姓名不符合要求!");
			return;
		}
		else
		{
			this.name=name;
		}
	}
	public String getName()
	{
		return this.name;
	}
 
	//提供操作age成员变量的方法
	public void setAge(int age)
	{
		//执行合理性校验,要求学生年龄必须在6-30之间
		if (age>30 || age<6) 
		{
			System.out.println("输入的学生年龄不符合要求!");
			return;
		}
		else
		{
			this.age=age;
		}
	}
	public int getAge()
	{
		return this.age;
	}
 
	//提供操作gender成员变量的方法
	public void setGender(String gender)
	{
		if (gender != "男" || gender != "女") 
		{
			System.out.println("输入的学生的性别不符合要求!");
			return;
		}
		else
		{
			this.gender=gender;
		}
	}
	public String getGender()
	{
		return this.gender;
	}
	//提供操作phone成员变量的方法
	public void setPhone(String phone)
	{
		if (phone.length()<15) //最好用正则表达式,本书第七章有介绍。
		{
			System.out.println("输入的学生电话号码位数不正确!");
			return;
		}
		else
		{
			this.phone=phone;
		}
	}
	public String getPhone()
	{
		return this.phone;
	}
	//提供操作address成员变量的方法
	public void setAddress(String address)
	{
		this.address=address;
	}
	public String getAddress()
	{
		return this.address;
	}
	//提供操作email成员变量的方法
	public void setEmail(String email)
	{
		this.email=email;
	}
	public String getEmail()
	{
		return this.email;
	}
	//学生类默认的构造器
	public Student()
	{
		this.name="刘备";
		this.age=28;
		this.gender="男";
		this.phone="134567890";
		this.address="大汉涿郡楼桑村";
		this.email="dahanhuangshu@126.com";
	}
	//学生类带成员变量的构造器
	public Student(String name,int age,String gender,String phone,String address,String email)
	{
		this.name = name;
		this.age = age;
		this.gender = gender;
		this.phone = phone;
		this.address = address;
		this.email =email;
	}
	//提供“吃”的行为方法
	public void eat()
	{
		System.out.println("吃:"+"日啖荔枝三百颗,不妨长作岭南人。");
	}
	//提供“喝”的行为方法
	public void drink()
	{
		System.out.println("喝:"+"葡萄美酒夜光杯,欲饮琵琶马上催。");
	}
	//提供“玩”的行为方法
	public void play()
	{
		System.out.println("玩:"+"牧童骑黄牛,歌声振林樾。意欲捕鸣蝉,忽然闭口立。");
	}
	//提供“睡”的行为方法
	public void sleep()
	{
		System.out.println("睡:"+"大梦谁先觉?平生我自知。草堂春睡足,窗外日迟迟。");
	}
	//主方法入口
	public static void main(String[] args) 
	{
		Student st1=new Student();
		Student st2=new Student("刘备",28,"男","123456789","大汉涿郡楼桑村","dahanhuangshu@126.com");
		Student [] stu = {st1, st2};
		Scanner in = new Scanner(System.in);
        System.out.println("请输入名字或邮箱或地址中的一个:");
        String input = in.next();
        for (Student stus : stu) 
        {
            // 用“==”运算符,该运算符表示指向字符串的引用是否相同
            // 用.equals()方法,该方法比较的是字符串的内容是否相同
            if (input.equals(stus.getName()) || input.equals(stus.getAddress()) || input.equals(stus.getEmail()))
            {
                System.out.println("存在该学生...");
                System.out.println("===============================");
                System.out.println(stus.name+"|"+stus.age+"|"+stus.gender+"|"+stus.phone+"|"+stus.address+"|"+stus.email);
                System.out.println("===============================");
                st1.eat();
                st1.drink();
                st1.play();
                st1.sleep();
                break;
            }
            else
            {
            	System.out.println("不存在该学生...");
            	break;
            }
        }
	}
}

3.简述this关键字的作用

答:

(1)this代表当前对象的一个引用。所谓当前对象,指的是调用类中方法或属性的那个对象。

(2)this只能在方法内部使用,表示对“调用方法的那个对象”的引用。但要注意,如果在方法内部调用同一个类的另一个方法,就不必使用this,直接调用即可。当前方法中的this引用会自动应用于同一类中的其他方法。

(3)this不能用于静态方法。main方法也是静态的,所以this也不能用于main方法。​

(4)可以使用this关键字调用重载构造方法。避免相同的初始化代码,只能在构造方法中用,并且必须位于构造方法的第一句。并且,除了构造器之外,编译器禁止在其他任何方法中调用构造器。

4.编程实现将一个正整数分解并输出它的所有质因数。

import java.util.Scanner;
class temp {
public static void main(String[] args) {
	Scanner input = new Scanner(System.in);
	System.out.println("请输入一个数字:");
	int num = input.nextInt();
	System.out.print(num+"=");//num为输入的数字。
	for(int k=2;k<=num;k++){
		while(num!=k){
			if(num%k==0){ 
				System.out.print(k + "*");
			    num=num/k;
				k=k-1;
			}
			break;
		}
	}
	System.out.println(num);
}
}

 

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java桌面程序大学作业是指在大学中学习Java编程语言后,针对桌面应用程序的设计与开发进行的作业任务。一般来说,这种作业要求学生通过编写Java代码实现一个具有一定功能的桌面应用程序,并进行测试和调试。 在这个作业中,学生需要掌握Java语言的基本语法和面向对象的编程思想,包括的定义、型的使用、方法的调用等。此外,学生还需要熟悉Java的图形用户界面(Graphical User Interface,GUI)编程,掌握Swing或JavaFX等桌面应用程序开发框架的使用。 在开始作业之前,学生通常需要先确定自己的应用程序的功能需求和设计思路。然后,他们需要根据需求,设计应用程序的界面布局和交互逻辑,并使用Java代码实现。在实现过程中,他们需要合理地组织和设计代码,利用面向对象的思想,封装和继承,实现代码的可重用性和可维护性。 完成代码编写后,学生需要进行测试和调试,确保应用程序的正常运行。他们可以通过手动测试、单元测试和集成测试等方式来验证程序的正确性和稳定性。同时,学生还可以根据需要,对应用程序进行进一步的优化和改进。 总之,Java桌面程序大学作业是一项旨在让学生掌握Java编程语言和桌面应用程序开发技术的任务。通过这个作业,学生可以提升自己的编程能力和解决问题的能力,为今后从事Java相关的职业奠定基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值