天天看點

java程式實驗報告_java實驗報告程式

展開全部

public interface Auth {

62616964757a686964616fe4b893e5b19e31333337393462public void check(String name,String pwd,AuthResult result);

}

class AuthResult{

public String msg;// 結果資訊

public boolean success;// 驗證結果

public boolean isSuccess(){

return success;

}

public String getMsg(){

return msg;

}

}

import java.io.BufferedReader;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.util.HashMap;

import java.util.Map;

public class Auth1 implements Auth {

Map data = new HashMap();

@Override

public void check(String name,String pwd,AuthResult result) {

try {

// 加載使用者名和密碼

InputStream in = getClass().getResourceAsStream("Auth1.txt");

BufferedReader br = new BufferedReader(new InputStreamReader(in));

String temp = null;

while((temp = br.readLine()) != null){

data.put(temp.split(":")[0], temp.split(":")[1]);

}

if(data.get(name) == null){

result.success = false;

result.msg = "使用者名錯誤";

return;

}

if(!pwd.equals(data.get(name))){

result.success = false;

result.msg = "密碼錯誤";

return;

}

result.success = true;

result.msg = "auth success!";

} catch (Exception e) {

e.printStackTrace();

}

}

}

public class Auth2 implements Auth {

Map data = new HashMap();

@Override

public void check(String name,String pwd,AuthResult result) {

try {

// 加載使用者名和密碼

InputStream in = getClass().getResourceAsStream("Auth2.txt");

BufferedReader br = new BufferedReader(new InputStreamReader(in));

String temp = null;

int i = 1;

String temp1 = null;

while((temp = br.readLine()) != null){

if(i % 2 == 0){

data.put(temp1, temp);

} else {

temp1 = temp;

}

i++;

}

if(data.get(name) == null){

result.success = false;

result.msg = "使用者名錯誤";

return;

}

if(!pwd.equals(data.get(name))){

result.success = false;

result.msg = "密碼錯誤";

return;

}

result.success = true;

result.msg = "auth success!";

} catch (Exception e) {

e.printStackTrace();

}

}

}

import java.util.Scanner;

public class Test {

public static void main(String[] args) {

Auth1 a1 = new Auth1();

Auth2 a2 = new Auth2();

Scanner sc = new Scanner(System.in);

String name = null;

String pwd = null;

System.out.println("enter name:");

name = sc.nextLine();

System.out.println("enter pwd:");

pwd = sc.nextLine();

AuthResult result = new AuthResult();

System.out.println("---Auth1---check");

a1.check(name,pwd,result);

if(result.isSuccess()){

System.out.println("auth success!");

} else {

System.out.println("auth fail! because " + result.getMsg());

}

System.out.println("---Auth2---check");

a2.check(name,pwd,result = new AuthResult());

if(result.isSuccess()){

System.out.println("auth success!");

} else {

System.out.println("auth fail! because " + result.getMsg());

}

}

}

檔案與這些類同包下應該就能讀到

Auth1.txt

name1:pwd1

name2:pwd2

Auth2.txt

name3

pwd3

name4

pwd4