/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:
* 作 者: 姜雅明
* 完成日期: 2012 年 11 月 01 日
* 版 本 号: 2.0
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
* 程序输出:
* 程序头部的注释结束
*/
package one;
/*1.编写一个模拟用户帐户的程序。测试类Test用来登录:
* 输入用户帐户名和密码,如果正确(则在控制台输出Success,并提示是否修改用户名和密码,
* 要修改:则弹出提示框重新输入帐户名和密码,不修改,则显示再次登录框。)
* 如果不正确(究竟是账户名不对还是密码不对?则提示重新输入,最多3次,否则在控制台输出Fail,退出程序:System.exit(0))
* 功能类Counter用来实现上述功能:将用到判断两个字符串是否相同,判断字符串的前缀、后缀是否和某个字符串相同,
* 按字典顺序比较两个字符串大小的关系,删除字符串前后空格,检索字符串,创建子字符串,
* 将数字型字符串转换为数字,将字符串存放到数组中,用字符数组创建字符串等。
* 使用String类的相关方法,提示框的方法仍然是前面测试题的javax.swing.JOptionPane.showInputDialog("")。(必做)
*/
//javax.swing.JOptionPane.showInputDialog
public class Counter {
private String name;
private String password;
Counter(){
this.name = "admin";
this.password = "admin";
}
public boolean judge(String name, String password){
boolean a = this.name.equals(name);
boolean b = this.password.equals(password);
if(a == true && b == true){
String c = javax.swing.JOptionPane.showInputDialog("Success! 是否修改用户名和密码?(y:是; n:否)");
if(c.contentEquals("y")){
String newName = javax.swing.JOptionPane.showInputDialog("请输入新的用户名");
setName(newName);
String newPassword = javax.swing.JOptionPane.showInputDialog("请输入新的密码");
setPassword(newPassword);
}
if(c.contentEquals("n")){
String d = javax.swing.JOptionPane.showInputDialog("是否退出?(y:是; n:否)");
if(d.contentEquals("y")){
System.exit(0);
}else if(d.contentEquals("n")){
// return true;
}
}
// return true;
}else if(a == false){
javax.swing.JOptionPane.showInputDialog("name is wrong");
return false;
}else if(b == false){
javax.swing.JOptionPane.showInputDialog("password is wrong");
return false;
}
return true;
}
public void setName(String name) {
this.name = name;
}
public void setPassword(String password) {
this.password = password;
}
}
package one;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
Counter c = new Counter();
int i = 0;
while (i < 3) {
String a = javax.swing.JOptionPane.showInputDialog("请输入用户名");
String b = javax.swing.JOptionPane.showInputDialog("请输入密码");
boolean j = c.judge(a, b);
if(j == false){
i++;
}else{
continue;
}
}
}
}
package two;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class JudgeDate {
public void judge() {
String y1 = javax.swing.JOptionPane.showInputDialog("请输入第一个年");
int year1 = Integer.parseInt(y1);
String m1 = javax.swing.JOptionPane.showInputDialog("请输入第一个月");
int month1 = Integer.parseInt(m1);
String d1 = javax.swing.JOptionPane.showInputDialog("请输入第一个天");
int day1 = Integer.parseInt(d1);
Calendar c1 = Calendar.getInstance();
c1.set(year1, month1, day1);
String y2 = javax.swing.JOptionPane.showInputDialog("请输入第二个年");
int year2 = Integer.parseInt(y2);
String m2 = javax.swing.JOptionPane.showInputDialog("请输入第二个月");
int month2 = Integer.parseInt(m2);
String d2 = javax.swing.JOptionPane.showInputDialog("请输入第二个天");
int day2 = Integer.parseInt(d2);
Calendar c2 = Calendar.getInstance();
c2.set(year2, month2, day2);
long time1 = c1.getTimeInMillis();
long time2 = c2.getTimeInMillis();
Date date1 = new Date(time1);
Date date2 = new Date(time2);
new SimpleDateFormat("yyyy年MM月dd日");
if(date1.equals(date2)){
javax.swing.JOptionPane.showInputDialog("天数相同");
}else if (date1.after(date2)) {
long time3 = (time1 - time2) / (1000 * 60 * 60 * 24);
javax.swing.JOptionPane.showInputDialog("第一个时间大." + year1 + "年" + month1 + "月" + day1 + "日和" + year2 + "年" + month2 + "月" + day2 + "日" + "相差" + time3 + "天");
}else if(date1.before(date2)){
long time4 = (time2 - time1) / (1000 * 60 * 60 * 24);
javax.swing.JOptionPane.showInputDialog("第二个时间大." + year1 + "年" + month1 + "月" + day1 + "日和" + year2 + "年" + month2 + "月" + day2 + "日" + "相差" + time4 + "天");
}
}
public static void main(String[] arges) {
JudgeDate j = new JudgeDate();
j.judge();
}
}
不知道为什么输入两个一样的年份是,显示第二个大·····问题还没解决···