栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基础习题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基础习题

2021//11/3习题练习

1.分析以下需求,并用代码实现
替换某字符串中的某字符串。
键盘录入一个srcStr字符串,再录入一个delStr字符串。
删除该字srcStr符串中的所有delStr字符串。

package com.apesource.demo01.day080;

import java.util.Scanner;


public class Test06 {

	
		public static void main(String[] args) {
			Scanner scanner = new Scanner(System.in);
			System.out.println("请输入源字符串:");
			String scrStr = scanner.nextLine();
			System.out.println("请输入需要删除的字符串:");
			String delStr = scanner.nextLine();
			//1.获取输入字符串长度
			int len = scrStr.length();
			//2.将需要删除的字符串替换成空字符串
			scrStr = scrStr.replace(delStr, "");
			//3.获取删除后的字符串长度
			int newlen = scrStr.length();
			//4.算出删除了几个删除的字符串并打印
			System.out.println("源字符串中总共包含:" + (len-newlen)/delStr.length()+ "个"+delStr);
			//5.打印删除后的字符串
			System.out.println("删除后"+ delStr +"的字符串为:" + scrStr );
		}
	}
  1. 分析以下需求,并用代码实现
    定义String getStr()方法
    功能描述:
    获取长度为5的随机字符串
    字符串由随机的4个大写英文字母和1个0-9之间(包含0和9)的整数组成
    英文字母和数字的顺序是随机的
package com.apesource.demo01.day080;

import java.util.Random;


public class Test02 {

	public static void main(String[] args) {
		String str = getStr();
		System.out.println(str);
	}
	public static String getStr() {
		
		        //1.定义一个长度为5的char数组
				char[] ch = new char[5];
				
				//2.给数组对应位置的元素赋值,赋大小写字母值
				for (int i = 0; i < ch.length; i++) {
					ch[i] = (char) (Math.random()*('Z'-'A'+1)+'A');
				}
				
				//3.随机生成一个数字字符
				char c = (char) (Math.random()*('9'-'0'+1)+'0');
				
				//4.随机生成一个索引值
				int index = (int) (Math.random()*5);
				
				//5.把数字字符放在对应索引值位置
				ch[index] = c;
				
				//6.把char数组转换为字符串
				String str = new String(ch);
				return str;
	}
}

3.生成一个随机100内小数,转换为保留两位小数的字符串,不考虑四舍五入的问题。

package com.apesource.demo01.day080;
import java.text.DecimalFormat;

import java.util.Random;

public class Test07 {

	public static void main(String[] args) {
		
		        double d = Math.random()*100;
		        System.out.println("随机数为:" + d);
		        //把double转化为字符串
		        String str = d + "";
		        //查找小数点位置
		        int index = str.indexOf(".");
		        //截取 从索引为0到小数点后两位 左闭右开所以+3
		        String newStr = str.substring(0,index+3);
		        System.out.println("转化为" + newStr);

	}
}

4.筛选字符串。
定义ArrayList集合,存入多个字符串。
删除长度大于3的字符串,打印删除后的集合。

package com.apesource.demo01.day080;

import java.util.ArrayList;


public class Test08 {

	public static void main(String[] args) {
		ArrayList list = new ArrayList<>();
		list.add("bca");
		list.add("dadfa");
		list.add("dddaaa");
		list.add("你好啊");
		list.add("我来啦");
		list.add("你干嘛呢");
		list.add("别跑啊");
		System.out.println("源字符串:" + list);
		for(int i = 0;i < list.size();i++) {
			String str = list.get(i);
			if(str.length() > 3) {
				list.remove(i);
				i--;
			}
		}
		System.out.println("删除后:" + list);
	}
}

5.判断回文字符串。如果一个字符串,从前向后读和从后向前读,都是一个字符串,称为回文串,比如mom,dad,noon。

package com.apesource.demo01.day080;

import java.util.Scanner;


public class Test09 {

	public static void main(String[] args) {
         Scanner scan = new Scanner(System.in);
         System.out.println("请输入字符串:");
         String str = scan.next();
         char[] ch = str.toCharArray();
         for (int i = 0,j = ch.length-1; i < ch.length/2; i++,j--) {
        	 char temp = ch[i];
 			ch[i] = ch[j];
 			ch[j] = temp;
		}
         String s = new String(ch);
         if (str.equals(s)) {
			System.out.println("回文串:" + true);
		}else {
			System.out.println("回文串:" + false);
		}
}

}

6.模拟简单计算器,可以运算+,—,*,/,%。
接收三个参数,一个整数,一个运算符,另一个整数。计算出运算结果。
无法运算时,返回null。

package com.apesource.demo01.day080;

import java.util.Scanner;


public class Test10 {

	public static void main(String[] args) {
		Integer result = calc(10,"#",5);
		System.out.println(result);
	}
	
	//不能运算返回null 所以返回值类型不能是基本类型
	public static Integer calc(int num1,String operator,int num2) {
		if("+".equals(operator)) {
			return num1+num2;
		}else if("-".equals(operator)) {
			return num1-num2;
		}else if("*".equals(operator)) {
			return num1*num2;
		}else if("/".equals(operator)) {
			return num1/num2;
		}else if("%".equals(operator)) {
			return num1%num2;
		}else {
			return null;
		}

	}

}

7.校验密码是否合法。
必须至少8个字符。
必须至少2个大写字符。必须只有字母和数字。

package com.apesource.demo01.day080;

import java.util.Scanner;


public class Test11 {

	public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入密码:");
		String pwd = scan.next();
		
		if(pwd.length()<8) {
			System.out.println(pwd+"密码是否合法:"+false);
			return;
		}
		
		int count = 0;//保存大写字符出现的次数
		
		for (int i = 0; i < pwd.length(); i++) {
			//获取字符
			char c = pwd.charAt(i);
			//如果不是0-9 A-Z a-z就不符合要求
			if( ! ((c>='0' && c<='9') || (c>='A' && c<='Z') || (c>='a' && c<='z')) ) {
				System.out.println(pwd+"密码是否合法:"+false);
				return;
			}
			
			if(c>='A' && c<='Z') {
				count++;
			}
		}
		
		if(count<2) {
			System.out.println(pwd+"密码是否合法:"+false);
			return;
		}
		
		System.out.println(pwd+"密码是否合法:"+true);
}
	
}

8.模拟用户登录。
定义用户类,属性为用户名和密码。使用集合存储多个用户对象。
录入用户和密码,对比用户信息,匹配成功登录成功,否则登录失败。登录失败时,当用户名错误,提示没有该用户。
登录失败时,当密码错误时,提示密码有误。

package com.apesource.demo01.day080;

import java.util.ArrayList;
import java.util.Scanner;


public class Test12 {

	public static void main(String[] args) {
		ArrayList list = new ArrayList<>();
		list.add(new User("admin","admin"));
		list.add(new User("root","root"));
		list.add(new User("zhangsan","123456"));
		
		Scanner s = new Scanner(System.in);
		System.out.println("请输入用户名:");
		String name = s.next();
		
		
		User u = null;
		//遍历集合
		for (int i = 0; i < list.size(); i++) {
			//获取元素
			User user = list.get(i);
			//比较用户名
			String userName = user.getName();
			if(name.equals(userName)) {
				//保存当前用户信息
				u = user;
				break;
			}
		}
		
		if(u==null) {
			System.out.println("没有该用户");
			return;
		}
		
		System.out.println("请输入密码:");
		String password = s.next();
		if(password.equals(u.getPwd())) {
			System.out.println("登录成功");
		}else {
			System.out.println("密码有误");
		}
}
	
}
    class User {
	private String name;
	private String pwd;
	
	public String getName() {
		return name;
	}

	public String getPwd() {
		return pwd;
	}

	public User(String name, String psw) {
		super();
		this.name = name;
		this.pwd = pwd;
	}
	
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/424057.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号