【Java基础】关于数组和switch语句练习

初学者数组和switch语句练习,对数组和switch不熟悉的可以多练练

目录

1、【数组的操作】

2、【类的创建和使用】

3、【使用switch做一级菜单】


1、【数组的操作】

题目:

现在有一个数组{2,3,5,6,7,0,7,5,4,3,0,0,0,0},要求:

将上面数组中的0去掉,将不为0的项存入一个新的数组当中,

  1. 编写程序循环遍历输出新的数组。
  2. 将数组从小到大进行排序,并遍历输出
  3. 遍历循环将数组中是7的数字改成数字8,遍历输出数组,要求使用增强for循环进行遍历
  4. 查询数组,把数组元素的值是3的下标,并输出相应的下标
package studentproject;

import java.util.Arrays;

/**
 * 现在有一个数组{2,3,5,6,7,0,7,5,4,3,0,0,0,0},要求:

将上面数组中的0去掉,将不为0的项存入一个新的数组当中,

1、编写程序循环遍历输出新的数组。
2、将数组从小到大进行排序,并遍历输出
3、遍历循环将数组中是7的数字改成数字8,遍历输出数组,要求使用增强for循环进行遍历
4、查询数组,把数组元素的值是3的下标,并输出相应的下标
 * @author weijiangzhu
 *
 */
public class ArrayText {
	
	
	
	public static void main(String[] args) {
		int[] arr = new int[] {2,3,5,6,7,0,7,5,4,3,0,0,0,0}; 
		//创建对象
		ArrayText at =  new ArrayText();
//		1、编写程序循环遍历输出新的数组。
		//1.1统计非0的数有多少个
		int num = at.staticsNum(arr);
		//1.2创建新的数组把非0数组元素存储在新的数组中
		int[] newArr = new int[num];
		//新数组下标
		int index = 0;
		for(int i=0;i<arr.length;i++) {
			if(arr[i]!=0) {
				//把非0数存入新数组
				newArr[index] = arr[i];
				index++;
			}
		}
		
		//1.3遍历输出新的数组
		System.out.println("1、去0后的数组:");
		at.eachArr(newArr);
		
//		2、将数组从小到大进行排序,并遍历输出
		Arrays.sort(newArr);//用java环境本身提供的方法排序
		System.out.println("\n2、排序后的数组:");//换行作用
		at.eachArr(newArr);//遍历输出
		
//		3、遍历循环将数组中是7的数字改成数字8,遍历输出数组,要求使用增强for循环进行遍历
		for(int i=0;i<newArr.length;i++) {
			if(newArr[i]==7) {
				newArr[i]=8;//赋值
			}
		}
		//增强for循环遍历
		System.out.println("\n3、修改后的数组:");
		for(int ar : newArr) {
			System.out.print(ar+" ");
		}
//		4、查询数组,把数组元素的值是3的下标,并输出相应的下标
        System.out.println("\n4、数组元素的值是3的下标有:");
		for(int i=0;i<newArr.length;i++) {
			if(newArr[i]==3) {
				System.out.print(i+" ");
			}
		}
	}

/**
 * 统计非0的数有多少个
 * @return
 */
	private  int staticsNum(int[] arr) {
		int count=0;
		for(int ar : arr) {
			if(ar!=0) {
				count++;
			}
		}
		return count;
	}
	
	/**
	 * 遍历数组
	 * @param arr
	 * @return
	 */
	private  void eachArr(int[] arr) {
		for(int ar : arr) {
			System.out.print(ar+" ");
		}
	}
	


	
	
	

}


2、【类】

题目:(1)定义一个用户类(User),用户类中的属性包括:账号、密码、姓名、年龄、性别;定义一个无构造方法和有参构造方法;定义一个修改账号和密码的方法(修改的user对象,账号、密码作为参数传入),返回修改后的对象

(2)用这个类来创建对象u1,u2,u3,u4,u5四个对象,创建数组userArr将这5个对象存储在数组中

(3)调用修改账号和密码的方法,把u2对象的账号改为“Admin”,密码改为 “123456”,再把修改后得对象存放在原来所在得数组里

(4)遍历输出数组里得对象信息

package studentproject;

public class User {
	String id;// 账号
	String pwd;// 密码、
	String name;// 姓名、
	int age;// 年龄、
	char sex;// 性别

	/**
	 * 无参构造
	 */
	public User() {

	}

	/**
	 * 有参构造
	 */
	public User(String id,String pwd,String name,int age,char sex) {
           this.id =  id;
           this.pwd =pwd;
           this.name =  name;
           this.age =  age;
           this.sex = sex;
	}
	/**
	 * 修改方法
	 * @param user
	 * @param id
	 * @param pwd
	 * @return
	 */
	public User update(User user,String id,String pwd) {
		//取出user对象的属性并进行修改,
		user.id = id;
		user.pwd=pwd;
		//返回修改后的对象
		return user;
	}
	
	
	//主入口
	public static void main(String[] args) {
		//创建对象
		User u1 = new User("001","123","张三",20,'男');
		User u2 = new User("002","123","张三",20,'男');
		User u3 = new User("003","123","张三",20,'男');
		User u4 = new User("004","123","张三",20,'男');
		User u5 = new User("005","123","张三",20,'男');
		//将对象存入数组:
		//2、创建一个数据类型为User类的数组,存储使用User类创建的对象
		User[] users = new User[] {u1,u2,u3,u4,u5};
		//3、修改账号和密码
		System.out.println("u2原来的账号和密码:"+u2.id+" "+u2.pwd);
		//修改
		String newid="Admin";
		String newpwd = "123456";
		User newu2 = u2.update(u2,newid,newpwd);//调用修改的方法
		System.out.println("u2原来的账号和密码:"+newu2.id+" "+newu2.pwd);
		users[1] = newu2;//新对象存入数组
		//4、遍历输出数组的对象信息
		System.out.println("数组对象的信息如下:");
		int count = 0;
		for(User user:users) {
			count++;
			System.out.println(count+"、"+user.id+" "+user.pwd+" "+user.name+" "+user.age+" "+user.sex);
		}
		
	}
	
	
}

3、【一级菜单】

   题目:

模拟游戏登录和游戏菜单选择功能。要求:讲各种业务功能模块分别定义方法实现。

效果如图:

  1. 显示登录菜单选择,选择1进行输入账号和密码登录,输入完成之后显示欢迎该登陆者得语句,显示主菜单

  1. 根据菜单进行相应功能得选择,只要不选择退出,那么救恩那个一直显示功能

package studentproject;

import java.util.Scanner;

public class Prectice3 {
	Scanner in =  new Scanner(System.in);
	int choose;
	String user=null;
	String pwd=null;
	public static void main(String[] args) {
		Prectice3  prectice =  new Prectice3();
		prectice.start();
		
	}

	/**
	 * 开启
	 */
	private void start() {
		//登录界面
		choose = login();
		//主菜单
		mainMenu(choose);
		//重复选择,直到选择注销


		
	}
/**
 * 主菜单
 */
	private void mainMenu(int choose) {
		switch(choose) {
		case 1:
			//登录进入得系统
			loging();
			//主菜单
			showMenu();
			break;
		case 2:
			//游客进入系统
			showMenu2();
			break;
		default:
			break;
		}
	}
	/**
	 * 游客菜单
	 */
private void showMenu2() {
	String line;
	do {
	System.out.println("**************************");
	System.out.println("\t1、选游戏角色");
	System.out.println("\t2、登录");
	System.out.println("\t0、退出");
	System.out.println("**************************");
	System.out.println("键入菜单功能前得数字后,按照enter健:_");
	Scanner in = new Scanner(System.in);
  	line = in.nextLine();
  	//Scanner in2 = new Scanner(line);
  	//菜单选择功能
  	switch(line) {
  	case "1":
  		System.out.println("正在选游戏角色");
  		break;
  	case "2":
  		loging() ;//调用登录得方法
  		break;
  	case "0":
  		System.out.println("正在退出。。");
  		break;
  	
  	}
	}while(!line.equals("0"));
}
	/**
	 * 展示菜单,登录
	 */
private void showMenu() {
	String line;
	do {
	System.out.println("**************************");
	System.out.println("\t1、选游戏角色");
	System.out.println("\t2、修改账号");
	System.out.println("\t3、查看皮肤库");
	System.out.println("\t4、退出");
	System.out.println("**************************");
	System.out.println("键入菜单功能前得数字后,按照enter健:_");
  	line = in.next();
  	//Scanner in2 = new Scanner(line);
  	//菜单选择功能
  	switch(line) {
  	case "1":
  		System.out.println("正在选游戏角色");
  		break;
  	case "2":
  		System.out.println("正在修改账号");
  		break;
  	case "3":
  		System.out.println("正在查看");
  		break;
  	case "4":
  		System.out.println("正在退出。。");
  		break;
  	
  	}
	}while(!line.equals("4"));
}

/**
 * 登录账号和密码
 */
	private void loging() {
	System.out.println("请输入账号:");
	user =  in.next();//账号
	System.out.println("请输入密码:");
	pwd = in.next();//密码
	System.out.printf("欢迎[%s]进入王者荣耀",user);
}

	/**
	 * 用户登录
	 */
	private int login() {
		// TODO Auto-generated method stub
		System.out.println("********欢迎进入王者荣耀*******");
		System.out.println("\t1、登录账号");
		System.out.println("\t2、游客身份");
		System.out.println("***************************");
		System.out.println("请选择:");
		return  in.nextInt();
	}
	
	
	

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值