实验四 JAVA实用类库及其应用
一、实验目的
1.掌握Math、BigerInteger类的使用。
2.掌握String类和StringBuffer类的使用
3.掌握Date、Calendar的使用。
二、实验内容
1.编写Application程序, 从命令行参数输入10个整数并保存在数组中,求数组中最大、最小、数据的和、平均值。
2将一个字符串数组中的完成大小写字母转换。要求:使用对象数组。
3.编写一个应用程序,使用StringBuffer类中的方法,完成给定字符串的追加、删除和替换。
4.编写一个应用程序,用户从键盘输入一行含有数字字符的字符串,程序仅仅输出字符串中的全部数字字符。
5.编写一个应用程序,使用SimpleDateFormat类按你设置的格式显示某面某月某日某时,星期几。
6.编写一个应用程序,使用BigInteger类实现计算大整数的阶乘。
三、代码实现:
1.
应用eclipse编写程序,需要在命令行如此传参:
Run run... (x=)ArgumentsProgram arguments->1 2 3 4 5 6 7 8 9 10
package cn.edu.nefu.zhihu;
public class Application {
public static void main(String[] args) {
double n,sum=0.0;
double max,min;
max=min=Double.parseDouble(args[0]);
for(int i=0;i<args.length;i++){
sum+=Double.parseDouble(args[i]);
if(Double.parseDouble(args[i])>max){
max=Double.parseDouble(args[i]);
}
if(Double.parseDouble(args[i])<min){
min=Double.parseDouble(args[i]);
}
}
System.out.println("十个数中的最大值为: "+max);
System.out.println("十个数中的最小值为: "+min);
System.out.println("十个数的和为: "+sum);
n=sum/args.length;
System.out.println("十个数的平均数为: "+n);
}
}
package cn.edu.nefu.zhihu;
public class Change {
public static void main(String[] args) {
String s=new String("aBcDEfgh");
char []str;
str=s.toCharArray();
for(int i=0;i<str.length;i++){
if(Character.isLowerCase(str[i])){
str[i]=Character.toUpperCase(str[i]);
}
else if(Character.isUpperCase(str[i])){
str[i]=Character.toLowerCase(str[i]);
}
}
for(char c:str){//增强的for循环
System.out.print(c);
}
System.out.println();
}
}
具体实现: //0123456789:缺斤少两+丢三落四+七上八下+画蛇添足
package cn.edu.nefu.zhihu;
public class StrBuffer {
public static void main(String[] args) {
StringBuffer s=new StringBuffer("012568710");
s.insert(3,'3');
s.insert(4,'4');
System.out.println("除掉丢三落四后: "+s);
s.delete(9,11);
System.out.println("除掉画蛇添足后: "+s);
s.setCharAt(7,'7');
s.setCharAt(8,'8');
System.out.println("除掉七上八下后: "+s);
s.append(9);
System.out.println("除掉缺斤少量后: "+s);
}
}
package cn.edu.nefu.zhihu;
import java.util.Scanner;
public class OnlyShuzi {
public static void main(String[] args) {
Scanner reader=new Scanner(System.in);
String s;
while(reader.hasNext()){
s=reader.nextLine();
char str[]=s.toCharArray();
for(char c:str){
if(Character.isDigit(c)){
System.out.print(c+" ");
}
}
System.out.println();
}
}
}
5.
package cn.edu.nefu.zhihu;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DataGirl {
public static void main(String[] args) {
Date nowTime=new Date();
//String []str=new String[10];
System.out.println("现在的时间: "+nowTime);
SimpleDateFormat matter=new SimpleDateFormat("'BeiJing Time':yyyy-MM-dd HH:mm:ss (a) E ");
System.out.println("DateGirl的时间必须要清楚~");
System.out.println("现在是北京时间: "+matter.format(nowTime));
}
}
6.
package cn.edu.nefu.zhihu;
import java.math.BigInteger;
import java.util.Scanner;
public class Jc {
public static void main(String[] args) {
Scanner reader=new Scanner(System.in);
while(reader.hasNextBigInteger()){
BigInteger n=reader.nextBigInteger();
BigInteger one=BigInteger.valueOf(1);
BigInteger sum=BigInteger.valueOf(1);
BigInteger i=BigInteger.valueOf(1);
while(n.compareTo(i)>=0){
sum=sum.multiply(i);
i=i.add(one);
}
System.out.println(sum);
}
}
}