EduCoder Java程序设计---Java面向对象(五)- 常用类

第1关 Object类

package case1;

import java.util.Scanner;

public class ObjectTest {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int num1 = sc.nextInt();
		int num2 = sc.nextInt();
		// ÔÚ²âÊÔÀàÖд´½¨DemoÀà¶ÔÏód1£¬´«ÈëÊäÈëÖµnum1£¬ d1µ÷ÓÃtoString·½·¨²¢´òÓ¡Êä³ö¸ÃÖµ
		// ´´½¨DemoÀà¶ÔÏód2£¬Í¬Ñù´«ÈëÊäÈëÖµnum1£¬´òÓ¡ÅжÏd1ºÍd2ÊÇ·ñÏàµÈ£¨Êµ¼ÊÊDZȽϵØÖ·£©
		/********* Begin *********/
		Demo d1 = new Demo(num1);
		System.out.println(d1.toString());
		Demo d2 = new Demo(num1);
		System.out.println(d1.equals(d2));
		/********* End *********/
		// ´´½¨PersonÀà¶ÔÏóp£¬´«ÈëÊäÈëÖµnum2£¬´òÓ¡ÅжÏd1ºÍpÊÇ·ñÏàµÈ£¨Êµ¼ÊÊDZȽϵØÖ·£©
		/********* Begin *********/
		Person p = new Person(num2);
		System.out.println(d1.equals(p));
		/********* End *********/
	}
}

class Demo {
	private int num;

	public Demo(int num) {
		this.num = num;
	}

	public boolean equals(Object obj) // Object obj = new Demo()
	{
		if (!(obj instanceof Demo)) // ÅжÏobjÊÇ·ñºÍDemoÊÇͬÀà
			return false;
		Demo d = (Demo) obj; // ½«¸¸ÀàµÄÒýÓÃ(Object)ÏòÏÂת»»Îª×ÓÀà(Demo)
		return this.num == d.num;
	}

	public String toString() {
		return "Demo:" + num; // ·µ»Ø¶ÔÏóµÄÖµ£¨Ã¿Ò»¸ö¶ÔÏó¶¼ÓÐ×Ô¼ºµÄÌض¨µÄ×Ö·û´®£©
	}
}

class Person {
	private int num;

	public Person(int num) {
		this.num = num;
	}
}

第2关 JAVA基础类型包装类-练习

package case2;

import java.util.Scanner;

public class WrapperTest {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int aa = sc.nextInt();
		String bb = sc.next();
		int c = sc.nextInt();
		String str11 = sc.next();
		String str22 = sc.next();
		// °ü×°ÀàÖС°==¡±ÓëequalsµÄÓ÷¨±È½Ï
		// ÖµµÃ×¢ÒâµÄÊÇ£¬°ü×°ÀàÖеÄequals·½·¨ºÍStringÀàÒ»Ñù£¬¶¼ÊÇÖØдÁËObjectÀàÖеÄequals·½·¨£¬Òò´Ë±È½ÏµÄÊÇÄÚÈݶø²»ÊǵØÖ·£¬
		// ¶ø¡°==¡±±È½ÏµÄÒÀÈ»ÊÇÒýÓñäÁ¿µÄµØÖ·£¬Ö»Êǵ±°ü×°ÀàÐͺÍÓëÖ®Ïà¶ÔÓ¦µÄ»ù±¾ÀàÐͽøÐС°==¡±±È½Ïʱ»áÏÈ×ö×Ô¶¯²ðÏä´¦Àí¡£
		/********* Begin *********/
		Integer a = aa;
		Integer b = new Integer(bb);
		String str1 = str11;
		String str2 = str22;
		System.out.println(a==b);
		System.out.println(a==c);
		System.out.println(b==c);
		System.out.println(a.equals(b));
		System.out.println(str1==str2);
		System.out.println(str1.equals(str2));
		/********* End *********/
	}
}

第3关 String&StringBuilder&StringBuffer类-练习

package case3;

import java.util.Scanner;

public class StringTest {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String str = sc.next();
		// String substring(int start,int end)
		// ½ØÈ¡×Ö·û´®£¬´«ÈëµÄÁ½¸ö²ÎÊý·Ö±ðΪҪ½ØÈ¡±ß½çµÄϱê
		// ÔÚjava api ÖÐ,ͨ³£Ê¹ÓÃÁ½¸öÊý×Ö±íʾ·¶Î§Ê±,¶¼ÊǺ¬Í·²»º¬Î²,¼´°üº¬Æðʼϱê¶ÔÓ¦µÄÄÚÈÝ,µ«²»°üº¬½áÊøϱêµÄ´¦¶ÔÓ¦µÄÄÚÈÝ
		// String toUpperCase() ½«µ±Ç°×Ö·û´®ÖеÄÓ¢ÎIJ¿·Öת»»ÎªÈ«´óд
		/********* Begin *********/

		String str1 = str.substring(12,str.lastIndexOf("."));
		if(str1.indexOf(".")>0){
			str1 = str1.substring(0,str1.indexOf("."));
		}
		System.out.println(str1);
		System.out.println(str1.toUpperCase());
		/********* End *********/
	}
}

第4关 Random类

package case4;

//ÃÜÂëµÄ×Ô¶¯Éú³ÉÆ÷£ºÃÜÂëÓÉ´óд×Öĸ/Сд×Öĸ/Êý×Ö×é³É£¬Éú³ÉÁùλËæ»úÃÜÂë
import java.util.Random;
import java.util.Scanner;

public class RandomTest {
	public static void main(String[] args) {
		// ¶¨ÒåÒ»¸ö×Ö·ûÐÍÊý×é
		char[] pardStore = new char[62];
		// °ÑËùÓеĴóд×Öĸ·Å½øÈ¥ °ÑËùÓеÄСд×Öĸ·Å½øÈ¥ °Ñ0µ½9·Å½øÈ¥
		/********* Begin *********/
		for (int i = 0 ; i < 26 ; i++){
			pardStore[i] = (char)('A' + i );
			pardStore[26+i] = (char)('a'+i);
		}
		for(int i = 0 ; i <10 ; i ++ ){
			pardStore[52+i] = (char)('0'+i);
		}
		/********* End *********/
		// ·Ö±ðÒÔ1¡¢2¡¢3×÷ΪÖÖ×ÓÊý Éú³É6λËæ»úÃÜÂë
		Scanner sc = new Scanner(System.in);
		int seed = sc.nextInt();
		/********* Begin *********/
		Random random = new Random(seed);
		String str = "";
		int [] arr = random.ints(6,0,62).toArray();
		for( int i = 0 ; i < 6 ; i ++  ){
			str += pardStore[arr[i]];

		}
		System.out.println(str);
		/********* End *********/
	}
}

第5关 Date类和SimpleDateFormat类的用法

package case5;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class DateTest {
	public static void main(String[] args) throws ParseException {
		// ¼üÅ̼ÈëÄãµÄ³öÉúÄêÔÂÈÕ ¸ñʽΪyyyy-MM-dd
		// °Ñ¸Ã×Ö·û´®×ª»»ÎªÒ»¸öÈÕÆÚ
		// ͨ¹ý¸ÃÈÕÆڵõ½Ò»¸öºÁÃëÖµ
		// »ñÈ¡2020Äê10ÔÂ1ÈյĺÁÃëÖµ
		// Á½ÕßÏë¼õµÃµ½Ò»¸öºÁÃëÖµ
		// °Ñ¸ÃºÁÃëֵת»»ÎªÌì ´òÓ¡Êä³ö
		Scanner sc = new Scanner(System.in);
		String line = sc.nextLine();
		/********* Begin *********/
		SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
		Date d1 = sf.parse(line);
		Date d2 = sf.parse("2020-10-01");
		long diff = d2.getTime()-d1.getTime();
		diff = diff/86400000;
		System.out.println("你的出生日期距离2020年10月1日:"+diff+"天");



		/********* End *********/
	}
}

第6关 Math类

package case6;

import java.util.Scanner;
import java.lang.Math;

public class MathTest {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int a1 = sc.nextInt();
		int a2 = sc.nextInt();
		int a3 = sc.nextInt();
		int a4 = sc.nextInt();
		double a5 = sc.nextDouble();
		double a6 = sc.nextDouble();
		double a7 = sc.nextDouble();
		double a8 = sc.nextDouble();
		double a9 = sc.nextDouble();
		double a10 = sc.nextDouble();
		double a11 = sc.nextDouble();
		/********* Begin *********/
		System.out.println(Math.sqrt(a1));
		System.out.println(Math.cbrt(a2));
		System.out.println(Math.pow(a3,a4));
		System.out.println(Math.max(a5,a6));
		System.out.println(Math.min(a5,a6));
		System.out.println(Math.abs(a7));
		System.out.println(Math.ceil(a8));
		System.out.println(Math.floor(a9));
		System.out.println(Math.rint(a10));
		System.out.println(Math.round(a11));
		/********* End *********/
	}
}

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
封装是面向对象编程的一项基本原则,它将数据与操作数据的方法打包在一起,以实现数据的安全性和可维护性。在Java中,封装主要通过使用访问修饰符来实现。 继承是面向对象编程的另一项重要原则,它允许一个继承另一个的属性和方法,以减少代码的重复性并增加代码的可复用性。在Java中,继承通过使用关键字“extends”来实现。 多态是面向对象编程的又一重要原则,它允许一个对象在不同的环境中表现出不同的行为。在Java中,多态主要通过方法的重写和方法的重载来实现。 对于educoder java面向对象封装继承多态的问题,我们可以通过以下方式回答: 在面向对象编程中,封装是通过使用访问修饰符来保护的属性和方法,使其不被外部访问和修改。封装可以提高代码的可维护性和安全性。 继承是面向对象编程的一项重要特性,它允许一个继承另一个的属性和方法,并且可以添加或修改这些属性和方法。通过继承,我们可以减少代码的重复性,增加代码的可复用性。 多态是面向对象编程的一项核心原则,它允许一个对象在不同的环境中表现出不同的行为。多态可以通过方法的重写和方法的重载来实现,在Java中,我们可以通过实现接口、使用抽象和使用重载等方式来实现多态性。 总的来说,封装、继承和多态是面向对象编程的三项重要概念,它们共同构建了面向对象编程的基础。在Java中,我们可以通过使用访问修饰符来实现封装,通过使用“extends”关键字来实现继承,通过方法重写和重载来实现多态。这些概念和技术能够帮助我们创建更加可维护、可扩展和高效的代码。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值