实验5——JAVA常用类

一.实验目的:

(1)掌握常用的String,StringBuffer(StringBuilder)类的构造方法的使用;

(2)掌握八种基本类型对应的包装类,以及他们之间的区别与联系。

(3)掌握字符串的比较方法,尤其equals方法和==比较的区别;

(4)掌握String类常用方法的使用;

(5)掌握字符串与字符数组和byte数组之间的转换方法;

(6)Date,Math, PrintWriter,Scanner类的常用方法。

二.实验内容

1编写一个类MyInteger,类中包含一个int数据成员保存这个对象表示的int值,包含一个无参构造方法,一个有参构造方法,包含isEven(),isOdd(),和isPrime()三个方法,返回boolean值表示该整数是否是偶数,奇数,素数。

package project5;
import java.util.*;
public class MyInteger {
    private int n;
	public static void main(String[] args) {
		@SuppressWarnings("resource")
		Scanner input=new Scanner(System.in);
		int n=input.nextInt();
		MyInteger m=new MyInteger(n);
		System.out.println("n是否为偶数:"+m.isEven());
		System.out.println("n是否为奇数:"+m.isOdd());
		System.out.println("n是否为素数:"+m.isPrime());
 
	}
	public MyInteger() {
		
	}
    public MyInteger(int n) {
		this.n=n;
	}
    public boolean isEven() {
    	if(this.n%2==0)
    		return true;   
		return false;
    }
    public boolean isOdd() {
    	if(n%2==0)
    		return false;
		return true;
    }
    public boolean isPrime() {
    	for(int i=2;i<=Math.sqrt(n);i++)
    		if(n%i==0)
    			return false;
    	 return true;
    }
}

2.二进制数转换为十六进制数

package project5;
import java.util.*;
public class Change2To16 {

	public static void main(String[] args) {
		@SuppressWarnings("resource")
		Scanner input=new Scanner(System.in);
		System.out.println("输入二进制数:");
		String n=input.next();
		int a=Integer.parseInt(n, 2);//先转化为10进制
		System.out.println("16进制数为:"+Integer.toHexString(a));
	}

}

3.将十进制转换为二进制

package project5;
import java.util.*;
public class Change10To2 {

	public static void main(String[] args) {
		@SuppressWarnings("resource")
		Scanner input=new Scanner(System.in);
		System.out.println("输入10进制数:");
		int n=input.nextInt();
		System.out.println("2进制数为:"+Integer.toBinaryString(n));
	}

}

4. 一些网站设定了一些制定密码的规则。编写一个方法,检验一个字符串是否是合法的密码。假设密码规则如下:

(1)密码必须至少有8个字符。(2)密码只能包括字母和数字。

(3)密码必须至少有2个数字。

编写一个程序,提示用户输入密码,如果该密码符合规则就显示“Valid  Password”,否则显示“Invalid  Password”。

package project5;
import java.util.*;
public class MyPassword {
	final static int a=8;
	final static int b=2;
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		System.out.println("请设置密码:");
		String s=input.nextLine();
		check(s);

	}

	public static void check(String s) {
		int x=0,y=0;
		for(int i=0;i<s.length();i++) {
			if(Character.isDigit(s.charAt(i)))
				x++;
			if(Character.isAlphabetic(s.charAt(i)))
				y++;
		}
		if(s.length()<a||x<b||x+y<s.length()) 
			System.out.println("Invalid  Password");
		else
			System.out.println("Valid  Password");
	}
}

5.使用下面的方法头编写一个方法,找出某个指定字符在字符串中出现的次数:public static int count(String str,char  a)

例如,count(“Welcome”,’e’)返回2.编写一个测试程序 ,提示用户输入一个字符串,在该字符串后紧跟着一个字符,然后显示这个字符在字符串中出现的次数。

package project5;
import java.util.*;
public class Seeking {

	public static void main(String[] args) {
		@SuppressWarnings("resource")
		Scanner input=new Scanner(System.in);
		System.out.println("输入字符串以及要统计的字符:");
		String str=input.nextLine();
		char a=input.nextLine().charAt(0);
		System.out.println(a+"出现的次数为:"+count(str,a));
	}
	
	public static int count(String str,char a) {
		int sum=0;
		for(int i=0;i<str.length();i++) 
			if(a==str.charAt(i))
				sum++;
		return sum;
	}

}

6. Java 提供了3 个日期类:Date、Calendar 和DateFormat。其中,Date 类主要用于创建日期对象并获取日期,Calendar 类可获取和设置日期,DateFormat 类用来设置日期的格式。Java 语言规定的基准日期为1970.1.1 00:00:00 格林威治(GMT)标准时间,当前日期是由基准日期开始所经历的毫秒数转换出来的。

import java.util.*;
import java.text.*;
public class KY5_10
{
public static void main (String args[])
{
Date today = new Date(); //当前日期和时间
SimpleDateFormat sdf;
sdf= new SimpleDateFormat("yyyy 年MM 月dd 日hh 时mm 分ss 秒 a EEEEE");
System.out.println("当前日期和时间: "+sdf.format(today));
long hms=System.currentTimeMillis(); //当前时间的毫秒数
System.out.println("当前时间的毫秒数="+hms);
Date tomorrow = new Date(hms+24*60*60*1000);
System.out.println("明天是"+sdf.format(tomorrow));
Calendar now = Calendar.getInstance();
int year =now.get(Calendar.YEAR); //年份
int month=now.get(Calendar.MONTH)+1; //月份
int day = now.get(Calendar.DATE); //日期
System.out.print("今天是"+year+"年"+month+"月"+day+"日");
int week = now.get(Calendar.DAY_OF_WEEK); //星期
switch (week)
{
case 1: System.out.println(" 星期日");break;
case 2: System.out.println(" 星期一");break;
case 3: System.out.println(" 星期二");break;
case 4: System.out.println(" 星期三");break;
case 5: System.out.println(" 星期四");break;
case 6: System.out.println(" 星期五");break;
case 7: System.out.println(" 星期六");break;
}
}
}

7. Math 是一个最终类,含有基本数学运算函数。创建使用Math 类的应用程序,程序中使用如指数运算、对数运算、求平方根、三角函数、随机数等,可以直接在程序中加Math.前缀调用。

package project5;
import java.util.*;
public class Mathematics {

	public static void main(String[] args) {
		@SuppressWarnings("resource")
		Scanner input=new Scanner(System.in);
		System.out.println("输入一个数:");
		double n=input.nextDouble();
		operations(n);

	}
	public static void operations(double n) {
		System.out.println("n的平方为:"+Math.pow(n, 2));
		System.out.println("n的n次方为:"+Math.pow(n, n));
		if(n>=0) {
			if(n==0) {
				System.out.println("n没有对数!");
				System.out.println("n的平方根为:"+Math.sqrt(n));
			}
			else
			{
				System.out.println("n的自然对数为:"+Math.log(n));
				System.out.println("n的以10为底的对数为:"+Math.log10(n));
				System.out.println("n的平方根为:"+Math.sqrt(n));
			}
		}
		else {
			System.out.println("n没有对数和平方根!");
		}
		System.out.println("sinn="+Math.sin(n));
		System.out.println("cosn="+Math.cos(n));
		System.out.println("tann="+Math.tan(n));
		System.out.println("asinn="+Math.asin(n));
		System.out.println("acosn="+Math.acos(n));
		System.out.println("atann="+Math.atan(n));
		if(n>=1)
		System.out.println("产生0——"+(int)(n-1)+"的随机数:"+(int)(Math.random()*n));
		
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值