//记录我的“从零开始学Java” #1

/**
* 本着无论如何都想把Java啃下来的心情(x
*买了一本入门书、一本算法手册
*看了一天的入门视频+半天入门书
*做了一个test测试

*/

设想需要该test实现的目的是:首先用户在终端通过类1登陆,程序判断登陆信息是否正确,如果正确则会调用类2的main方法进行输入数值并自选排序输出。
用到了一个package和两个class

代码如下:
登陆用的类1(NameI类)
package com.test;
import java.util.Scanner;
public class NameI {
public static void main(String[] args) {
	boolean login = false;//声明一个boolean变量,初始化为false未登录状态
	int i = 0;//错误次数计数器,初始化为0
	Scanner input = new Scanner(System.in);//创建Scanner工具的input对象
	do{
		System.out.println("请输入用户名:");
		String name = input.next();
		System.out.println("请输入密码:");
		String password = input.next();
		if("Haruki".equals(name)&&"123456".equals(password)){//判断用户名和密码是否合法
			System.out.println("账户1登陆成功");
			login = true;//登陆成功之后login变量改为true状态
			System.out.println("现在可以进行数值输入操作");
			NumSave.main(args);//调用NumSave类的main方法
		}else{
			if("Asakawa".equals(name)&&"951".equals(password)){//判断用户是否输入了特殊账户
				System.out.println("你正在尝试登陆账户2,是否继续?(y or n)");
				String tof = input.next();//声明一个字符串变量"tof",用于保存用户输入的值
				if("y".equals(tof)){//若用户选择继续登陆
					System.out.println("账户2登陆成功");
					System.out.println("现在可以进行数值输入操作");
					NumSave.main(args);//调用NumSave类的main方法
				}else{
					System.out.println("你选择了否,终止登陆程序");
					System.exit(0);
				}
			}else{
				i++;
				System.out.println("登录信息不合法,您还可以再尝试"+(5-i)+"次");
				if(i == 5){
					System.out.println("错误次数累计5次,禁止登陆");
					System.out.println("终止登陆程序");
			}
			}
		}
	}while(i<5 && !login);
}
}

数值操作用的类2(NumSave类)

package com.test;
import java.util.Scanner;//导入Scanner
import java.util.Arrays;//导入Arrays
/**
 * 保存10个数值并进行排序后输出
 * @author Haruki
 *对输入的数值大小进行了限制,不能大于120
 */
public class NumSave {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);//创建input对象
		int[] num = new int[10];//创建可以写入10个元素的数组
		NumSave f1 = new NumSave();//创建NumSave类的f1对象
		for(int i=0;i<=num.length -1;i++){//根据数组长度-1进行输入数值的循环
			System.out.println("请输入数值(不超过120):");
			int a = input.nextInt();//获取输入的数值
			if(a>=120){//判断输入的数据是否正常
				System.out.println("输入数值过大");//若不正常的提示语
				num[i] = f1.retry();//对数组写入retry方法的返回值
			}else{
				num[i] = a;//若正常则对数组写入输入的数值
			}
		}
		System.out.println("刚才输入的十个数值为:");
		for(int i =0;i<=num.length -1;i++){//遍历数组
			System.out.println(num[i]);//输出保存的数组数值
		}
		System.out.println("是否进行排序并重新输出?(y or n)");
		Scanner tem = new Scanner(System.in);//创建tem对象
		String i = tem.next();//声明一个字符串变量用来保存输入的字符y或n
		if("y".equals(i)){//判断是否输入了y字符
			Arrays.sort(num);//排序数组
			System.out.println("经过排序后的数组为:");
			for(int k=0;k<=num.length -1;k++){
				System.out.println(num[k]);//输出排序后的数组
			}
			System.out.println("test结束,程序终止");
			System.exit(0);//结束程序
		}else{
			System.out.println("你选择了否,终止该test");//若输入了n则直接结束程序
			tem.close();//关闭输入
			System.exit(0);//结束程序
		}
	}
	public int retry(){//被调用的retry方法
		Scanner input2 = new Scanner(System.in);
		int try1 = 120;//由于被调用此方法所以默认用户已经输入了大于等于120的数值
		do{//do...while循环进行用户二次输入
			if(try1>=120){//判断二次输入是否合法
				System.out.println("请你再输入一次不超过120的规范数值 ! ");
				try1 = input2.nextInt();//给变量try1赋值新数值
			}
		}while(try1>=120);//若新的try1值小于120则可以跳出循环
		return try1;//输出返回值
	}
}

跑的时候前后也出现了很多问题,debug花了点时间,总之最后终于是能正常运行了(笑
希望我能坚持下来吧。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值