Java作业10

用户自行定义一个异常,编程创建并抛出某个异常类的实例,运行该程序并观察 执行结果。例如:用户密码的合法化验证,要求密码由4 到6个数字组成,若长度不 落在这个范围或不是由数字组成,抛出自己的异常。
实验结果参考如下:
在这里插入图片描述在这里插入图片描述

import java.io.*;
import java.util.Scanner;

class Passwordh extends Exception{
	public Passwordh(String m) {
		super(m);
	}
}
public class Mima{
	
	public String passwordhx (String Password)throws Passwordh {
		try {
			if(Password.length()<4||Password.length()>6) {
				throw new Passwordh("密码必须由4到六位数字组成!");
			}
		}
			catch (NumberFormatException e) {
				System.out.println(e.toString());
			}
		
			try {
				if(!Password.matches("\\d+"))
				{
					Passwordh e;
					e=new Passwordh("密码必须由数字组成!");
					throw e;
				}
			} catch (NumberFormatException e) {
				System.out.println(e.toString());
			}
			return Password;
					}
		public static void main(String args[]) {
			try {
				Mima test;
				test=new Mima();
				Scanner scanner=new Scanner(System.in);
				System.out.println("请输入密码:");
				String str=scanner.nextLine();
				String a=test.passwordhx(str);
				System.out.println("您的密码为:"+a);
			}
			catch (Passwordh e) {
				e.printStackTrace();
			}
		}
		}


编写程序,接受用户输入的5个浮点数据和一个文件目录名,将这5个数据保存 在文件中,再从该文件中读取出来并且进行从小到大排序,然后再一次追加保存到文件中。
实验结果参考如下:
在这里插入图片描述在这里插入图片描述

import java.io.*;
import java.util.Arrays;
import java.util.Scanner;
public class Text {

	public static void main(String[] args) {
		Scanner s=new Scanner(System.in);
		System.out.println("请输入5个浮点数:");
float[] a=new float[5];
for(int i=0;i<5;i++) {
	a[i]=s.nextFloat();
}
String str;
System.out.println("请输入文件名:");
str=s.next();
File f=new File(str);
try {
	f.createNewFile();
}
catch(IOException e) {
	e.printStackTrace();
}
try {
	FileWriter fW=new FileWriter(f);
	for(int i=0;i<5;i++) {
		fW.write(String.valueOf(a[i])+"\r\n");
	}
	fW.close();
}
catch(IOException e) {
	e.printStackTrace();
}
try {
	FileReader fr=new FileReader(f);
	BufferedReader br=new BufferedReader(fr);
	float[] b=new float[5];
	for(int i=0;i<5;i++) {
		b[i]=Float.parseFloat(br.readLine());
	}
	Arrays.sort(b);
	try {
		FileWriter fw=new FileWriter(f,true);
	for(int i=0;i<5;i++) {
		fw.write(String.valueOf(b[i])+"\r\n");
	}
	fw.close();
	}
	catch(IOException e) {
		e.printStackTrace();
	}
}
catch(FileNotFoundException e) {
	e.printStackTrace();
}
catch (IOException e) {
	e.printStackTrace();
}
	}

}

编写一个Java程序,在当前文件夹中新建一个文件RandomFile.txt,往该文件中写入数据abcdefghijklmnopqrstuvwxyz,提示用户从键盘输入一个0~25的整数,根据用户输入的整数,从文件中读出相应位置的字符并显示,使程序运行结果如下。
在这里插入图片描述

import java.io.*;
import java.util.Scanner;
public class Shu {

	public static void main(String[] args) {
		
		File f=new File("D:\\RandomFile.txt");
		String str="abcdefghijklmnopqrstuvwxyz";
		int a=-1;
		Scanner reader=new Scanner(System.in);
		System.out.println("从键盘上输入一个0~25的整数:");
		a=reader.nextInt();
		try {
			RandomAccessFile in=new RandomAccessFile(f, "rw");
			in.seek(in.length());
			in.writeBytes(str);
			in.seek(a);
			char c=(char)in.read();
			in.close();
			System.out.println("RandomFile.txt文件中第"+a+"个字符是"+c);
		}
		catch(IOException e) {
			System.out.println(e);
		}
	}

}

  • 12
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

加油吧!~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值