第六次作业
1、给定一个有9个整数(1,6,2,3,9,4,5,7,8)的数组,先排序,然后输出排序后的数组的值。
public static void one() {
int[] a = new int[] {1,6,2,3,9,4,5,7,8};
// 第一个for里面的i控制的是数组里的第几个索引位置的元素
for(int i = 0;i<a.length;i++){
// 第二个for里面的j控制的是和后面的人比较的次数
for(int j = 0; j<a.length-i-1;j++){
if(a[j]>a[j+1]){
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
System.out.println(Arrays.toString(a));
menu();
}

2、 输出一个double型二维数组(长度分别为5、4,值自己设定)的值。
public static void two() {
//第一个中括号代表个数,第二个代表括号里面的个数
double[][] a = {{1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4}};
for(int i = 0;i<5;i++){
for(int j = 0;j<4;j++){
System.out.print(a[i][j]+" ");
}
System.out.println('\n');
}
menu();
}

3、 在一个有8个整数(18,25,7,36,13,2,89,63)的数组中找出其中最大的数及其下标。
public static void three() {
int[] a = {18,25,7,36,13,2,89,63};
int max = a[0];
for(int i = 0; i<a.length;i++){
if(max<a[i]){
max = a[i];
}
}
int index = Arrays.binarySearch(a, max);
System.out.println("元素" + max + "在第" + index + "个位置");
System.out.println("最大值为"+max);
menu();
; }

4、将一个数组中的元素逆序存放
public static void four() {
int[] a = {1,2,3,4,5,6,7,8,9};
for(int i = 0;i<a.length;i++){
for(int j = 0 ;j<a.length-i-1;j++){
if(a[j]<a[j+1]){
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
System.out.println(Arrays.toString(a));
menu();
}

5. 将一个数组中的重复元素保留一个其他的清零。
public static void five() {
int[] a = {1,2,3,4,5,6,7,7,8,9};
for(int i = 0;i<a.length;i++){
for(int j = 0 ;j<a.length-i-1;j++){
if(a[j]==a[j+1]){
a[j] = 0;
}
}
}
System.out.println(Arrays.toString(a));
menu();
}

6、给定一维数组{ -10,2,3,246,-100,0,5},计算出数组中的平均值、最大值、最小值。
public static void six(){
int[] a = {-10,2,3,246,-100,0,5};
int sum = 0;
int max = a[0];
int min = a[0];
for(int i = 0;i<a.length;i++){
sum = sum+a[i];
}
System.out.println("平均值"+sum/a.length);
for(int i = 1;i<a.length;i++){
if(max<a[i]){
max = a[i];
}
}
System.out.println("最大值"+max);
for(int i = 1;i<a.length;i++){
if(min>a[i]){
min = a[i];
}
}
System.out.println("最小值"+min);
menu();
}

7、使用数组存放裴波那契数列的前20项 ,并输出
public static void seven(){
int[] a = new int[20];
a[0] = 1;
a[1] = 1;
for(int i=2;i<a.length;i++){
a[i] = a[i-2]+a[i-1];
}
System.out.println(Arrays.toString(a));
menu();
}

8、生成一个长度为10的随机整数数组(每个数都是0-100之间),输出,排序后,再输出
public static void eight(){
Random r = new Random();
int[] a = new int[10];
for(int i=0;i<a.length;i++){
a[i] = r.nextInt(100);
}
System.out.println(Arrays.toString(a));
Arrays.sort(a);
System.out.println(Arrays.toString(a));
menu();
}

9、做一个菜单切换程序。主菜单1.登陆 2.注册 3幸运抽奖 4 退出。每个菜单可以返回主菜单
public static void main(String[] args){
menus();
}
public static void menus(){
System.out.println("1.登录");
System.out.println("2.注册");
System.out.println("3.幸运数");
System.out.println("4.退出系统");
System.out.println("请输入您的选择");
int a = input.nextInt();
switch(a){
case 1:
login();
break;
case 2:
register();
break;
case 3:
lucky();
break;
case 4:
System.out.println("欢迎下次使用");
System.exit(0);
}
}
public static Map<Integer,String> dict = new HashMap<>();
public static void register(){
System.out.println("请输入您要注册的账号");
int account = input.nextInt();
int j =1;
if(dict.containsKey(account)){
System.out.println("您输入的账号已经存在,请重新输入");
register();
}
else{
System.out.println("请输入您设置的密码");
String password = input.next();
System.out.println("请再次输入您设置的密码");
String passwords = input.next();
do{
if(password.equals(passwords)){
dict.put(account, passwords);
System.out.println("注册成功!");
menus();
}else{
if(j == 3){
System.out.println("您已经输入错误三次将返回菜单!");
menus();
}
j +=1;
System.out.println("请再次输入您设置的密码");
password = input.next();
}
}while(true);
}
}
public static void login(){
System.out.println("请输入您要登录的账号");
int account = input.nextInt();
int j =1;
if(dict.containsKey(account) == false){
System.out.println("您输入的账号不存在,请重新输入");
login();
}
else{
String password = dict.get(account);
System.out.println("请输入您设置的密码");
String passwords = input.next();
do{
if(password.equals(passwords)){
System.out.println("登录成功!");
menus();
}else{
if(j == 3){
System.out.println("您已经输入错误三次将返回菜单!");
menus();
}
j +=1;
System.out.println("请再次输入您设置的密码");
passwords = input.next();
}
}while(true);
}
}
public static void lucky(){
Random r = new Random();
int random = r.nextInt(100);
System.out.println("请输入您选择的幸运数字");
int a = input.nextInt();
if(random == a){
System.out.println("哇!您真幸运猜中了!");
menus();
}else{
System.out.println("很遗憾您没猜中这次的幸运数字是"+random);
menus();
}
}







浙公网安备 33010602011771号