Java-String常用类实验

Posted 康小庄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java-String常用类实验相关的知识,希望对你有一定的参考价值。

1. 编写程序,要求输入一个价格(必须是数值,值必须大于0),输入字符不合理重新输入,直到录入一个合理的价格为止,输出该价格。

提示:使用异常处理使代码更稳健。

public class PriceTest 
	public static void main(String[] args) 
		Scanner sc = new Scanner(System.in);
		while (true) 
			System.out.println("请输入数据:");
			try 
				double price = Double.parseDouble(sc.nextLine());
				if (price > 0) 
					System.out.println("价格为:" + price);
					break;
				 else if (price < 0) 
					System.out.println("价格不能为负!重新输入!");
				
			 catch (Exception e) 
				System.out.println("输入的数据有问题!重新输入!");
			
		
	

2. 某程序员编写了一个方法,该方法实现的逻辑是从传入的数组中找出最大值,但考虑到调用者可能会传入一个长度为0的数组,所以要给调用者进行相应的提示,但是Java中并没有合适的异常类名可以直观的让调用者明白出现的问题,该程序员想自己设计一个运行时异常ArrayLengthNotZeroException,为自己的方法提供服务,请帮其实现功能

@SuppressWarnings("serial")
public class ArrayLengthNotZeroException extends RuntimeException 
	public ArrayLengthNotZeroException(String message) 
		super(message);
	

	public static int getMax(int[] arr) 
		if (arr.length == 0) 
			throw new ArrayLengthNotZeroException("数组长度不能为0!!!");
		
		Arrays.sort(arr);
		return arr[arr.length - 1];
	

	public static void main(String[] args) 
		int arr[] =  1, 6, 8 ;
		int max = getMax(arr);
		System.out.println("最大值为:" + max);
		int arr2[] = new int[0];
		int max2 = getMax(arr2);
		System.out.println("最大值为:" + max2);
	

3. 键盘录入一个字符串,统计该字符串中大写字母字符、小写字母字符、数字字符出现的次数,不考虑其他字符

public class CountString 

	public static void main(String[] args) 
		@SuppressWarnings("resource")
		Scanner input = new Scanner(System.in);
		System.out.println("请输入一串字符串");
		int countUpper = 0;
		int countLower = 0;
		int numberDigit = 0;
		String string = input.nextLine();
		for (char ch : string.toCharArray()) 
			if (Character.isUpperCase(ch)) 
				countUpper++;
			 else if (Character.isLowerCase(ch)) 
				countLower++;
			 else if (Character.isDigit(ch)) 
				numberDigit++;
			
		
		System.out.println("大写字母出现的次数:" + countUpper);
		System.out.println("小写字母出现的次数:" + countLower);
		System.out.println("数字出现的次数:" + numberDigit);
	


4.将输入手机号码的4到7位屏蔽后输出,如“131****9468

public class HiddenPhoneNumber 
	
	public static void main(String[] args) 
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入你的手机号:");
		String tel = sc.next();
		String before = tel.substring(0, 3);
		String after = tel.substring(7);
		String s = before + "****" + after;
		System.out.println(s);
		sc.close();
	


5.给定两个字符串,A和B。A的旋转操作就是将A最左边的字符移动到最右边。例如,若A=“abcde”,在一次移动后结果就是“bcdea”。如果在若干次调整操作之后,A能变成B,那么返回true,如果不能匹配成功,则返回false

public class StringMatch 

	public static void main(String[] args) 
		@SuppressWarnings("resource")
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入两个字符串,用,分隔");
		String[] strings = sc.nextLine().split(",");
		String string1 = strings[0];
		String string2 = strings[1];
		if (match(string1, string2)) 
			System.out.println("匹配成功!");
		 else 
			System.out.println("匹配失败");
		
	

	public static boolean match(String string1, String string2) 
		char[] arr = string1.toCharArray();
		int n = string1.toCharArray().length;
		// 定义指针
		int point = 1;
		while (point <= string2.length()) 
			// 把第一个数拿到 准备赋值给尾部的值
			char last = arr[0];
			for (int i = 0; i < n - 1; i++) 
				arr[i] = arr[i + 1];
			
			arr[n - 1] = last;
			point++;
			System.out.println(arr);
			if (String.valueOf(arr).equals(string2)) 
				return true;
			
		
		return false;
	

6.已知正确的用户名和密码,请用程序实现模拟用户登录。总共给三次机会,登录之后给出相应的提示

public class LoginTest 

	public static void main(String[] args) 
		for (int i = 0; i < 3; i++) 
			Scanner sc = new Scanner(System.in);
			System.out.println("请输入用户名:");
			String name = sc.nextLine();
			System.out.println("请输入密码:");
			String pwd = sc.nextLine();
			if (name.equals("zk") && pwd.equals("123")) 
				System.out.println("登录成功!");
				break;
			 else 
				if (2 - i == 0) 
					System.out.println("账户锁定!");
					break;
				 else 
					System.out.println("输入错误!重新输入,你还有" + (2 - i) + "次机会");
				
			
		
	

以上是关于Java-String常用类实验的主要内容,如果未能解决你的问题,请参考以下文章

Java-String类的常用方法总结

Java-String类常用方法汇总

Java-String类学习笔记

Java-String字符串相关常用方法

Java-String 类·下

java-String类