您好,欢迎来到年旅网。
搜索
您的当前位置:首页20220328 java基础代码题(三)

20220328 java基础代码题(三)

来源:年旅网

1)判断数字共有多少位 

现有如下long值:long l = 123456709876321L;,请问这个超大的数字共有多少位?

public class Demo {
	public static void main(String[] args) {
		long l = 123456709876321L;
		String str = String.valueOf(l);
		System.out.println(str.length());
	}
}

2)确认《长恨歌》中的第85个字是什么 

《长恨歌》

节选内容如下:汉皇重色思倾国,御宇多年求不得。杨家有女初长成,养在深闺人未识。天生丽质难自弃,一朝选在君王侧。回眸一笑百媚生,六宫粉黛无颜色。春寒赐浴华清池,温泉水滑洗凝脂。侍儿扶起娇无力,始是新承恩泽时。云鬓花颜金步摇,芙蓉帐暖度春宵。春宵苦短日高起,从此君王不早朝。承欢侍宴无闲暇,春从春游夜专夜。后宫佳丽三千人,三千宠爱在一身。确认上述节选内容的第85个字是什么(标点符号算一个字)。

public class Demo {
	public static void main(String[] args) {
		String str = "汉皇重色思倾国,御宇多年求不得。杨家有女初长成,养在深闺人未识。天生丽质难自弃,一朝选在君王侧。回眸一笑百媚生,六宫粉黛无颜色。春寒赐浴华清池,温泉水滑洗凝脂。侍儿扶起娇无力,始是新承恩泽时。云鬓花颜金步摇,芙蓉帐暖度春宵。春宵苦短日高起,从此君王不早朝。承欢侍宴无闲暇,春从春游夜专夜。后宫佳丽三千人,三千宠爱在一身。";
		System.out.println(str.charAt(85 - 1));
	}
}

3):判断后缀名 设计一个方法,根据传入的文件名字符串判断该文件是不是MP4格式。

public class Demo {

	public boolean check(String fileName) {
		boolean upperFlag = fileName.lastIndexOf(".MP4") != -1;
		boolean lowerFlag = fileName.lastIndexOf(".mp4") != -1;
		return upperFlag || lowerFlag;
	}

	public static void main(String[] args) {
		Demo d = new Demo();
		String fileName="String类的常用方法.mp4";
		System.out.print(fileName+"文件");
		if(d.check(fileName)) {
			System.out.println("是MP4文件");
		}else {
			System.out.println("不是MP4文件");
		}
		
	}
}

4):找到名字最后一个字相同的人 在“张三”“李四”“王五”“赵六”“周七”“王哲”“白浩”“贾蓉”“慕容阿三”“黄蓉”10个名字中找到并输出最后一个字相同的名字

public class SameName {
	public static void main(String[] args) {
		String str[] = {"张三", "李四", "王五", "赵六", "周七", "王哲", "白浩", "贾蓉", "慕容阿三", "黄蓉"};
		System.out.println("最后一个字相同的名字有");
		for (int i = 0; i < str.length; i++) {
			for (int j = i + 1; j < str.length; j++) {
				int len = str[i].length();
				char endChar = str[i].charAt(len - 1);
				String strEC = endChar + "";
				if (str[j].endsWith(strEC)) {
					System.out.println(str[i] + "和" + str[j]);
				}
			}
		}
	}
}

5):转置字符串 在控制台上输入一个字符串,将此字符串转置输出,例如:“故事”转置后变为“事故”。

mport java.util.Scanner;

public class ReserveStr {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入任意字符串:");
		String target = sc.next();
		char[] chr = target.toCharArray();
		System.out.println("转置后的字符串:");
		for (int i = chr.length - 1; i >= 0; i--) {
			System.out.print(chr[i]);
		}
		sc.close();
	}
}

6):检索图书(一) 书架上存放着《明史讲义》《明代社会生活史》《紫禁城的黄昏》《中国的黄金时代》《国史十六讲》《停滞的帝国》《唐朝定居指南》《明史简述》《明史十讲》《大明风物志》《西方眼中的中国》《皇帝与秀才》,通过关键字或书名检索出相应的书籍。

mport java.util.Scanner;
public class SearchBook {// 创建一个SearchBook类
	public static void main(String[] args) {
		String books[] = {
				"《明史讲义》", "《明代社会生活史》", "《紫禁城的黄昏》", "《中国的黄金时代》", 
				"《国史十六讲》", "《停滞的帝国》", "《唐朝定居指南》", "《明史简述》", "《明史十讲》", 
				"《大明风物志》", "《西方眼中的中国》", "《皇帝与秀才》"
		};
		Scanner sc = new Scanner(System.in);// 控制台输入
		// 控制台输出提示信息
		System.out.println("请输入您要搜索的书名或关键字:");
		String message = sc.next();// 接收控制台输入的书名或关键字
		// 控制台输出提示信息
		System.out.println("--------------搜索结果--------------");
		for (int i = 0; i < books.length; i++)// 遍历数组
		{
			// 判断书名是否包含message
			if(books[i].contains(message)) {
				// 条件成立时输出搜索结果
				System.out.println(books[i]);
			}
		}
		sc.close();// 关闭控制台输入
	}
}

7):检索图书(二) 有两个小型书柜,其中第一个书柜依次有5本书,即《Java》《Java Web》《C语言》《C++》《Linux C》。第二个书柜依次也有5本书,即《论语》《资治通鉴》《四十二章经》《史记》《隋唐史》。控制台输入要搜索的书名或关键字(包括可忽略大小写的字母)后,输出书名以及书的位置

import java.util.Scanner;

public class Bookshelf {
	public static void main(String[] args) {
		String books[][] = {// 初始化一个String类型的二维数组
				{"《Java》", "《Java Web》", "《C语言》", "《C++》", "《Linux C》"},	
				{"《论语》", "《资治通鉴》", "《四十二章经》", "《史记》", "《隋唐史》"}
				};
		Scanner sc = new Scanner(System.in);// 控制台输入
		// 控制台输出提示信息
		System.out.println("请输入您要搜索的书名或关键字:");
		String message = sc.next();// 接收控制台输入的书名或关键字
		// 控制台输出提示信息
		System.out.println("--------------搜索结果--------------");
		for (int i = 0; i < books.length; i++)// 遍历数组
		{
			for (int j = 0; j < books[i].length; j++) 
			{
				// 判断书名是否包含message
				if(books[i][j].contains(message) || 
				   // 判断去掉大小写的书名是否包含message
				   books[i][j].toLowerCase().contains(message))
				{
					// 条件成立时输出被搜索的书的位置
					System.out.println(books[i][j] + ":" + 
					"第" + (i + 1) + "个书柜里的第" + (j + 1) + "本书");
				}
			}
			System.out.println();// 换行
		}
		sc.close();// 关闭控制台输入
	}
}

8):用户名校验 用户注册某网站账号,该网站已注册的用户名为mrsoft、mr、miss和Admin。如果用户申请的用户名已被他人注册,则注册失败并给予用户提示。

import java.util.Scanner;

public class VerifyRegistration {
	public static void main(String[] args) {
		String[] userNames = {"mrsoft", "mr", "miss", "Admin."};
		System.out.println("欢迎进入明日学院注册页面");
		boolean flag = true;
		String names = null;
		String userName;
		do {
			Scanner sc = new Scanner(System.in);
			System.out.println("请输入用户名:");
			userName = sc.nextLine();
			for (int i = 0; i < userNames.length; i++) {
				names += userNames[i];
				if (userName.equals(userNames[i])) {
					System.out.println("该用户名已存在!请重新输入……");
				}
				if (!names.contains(userName)) {
					flag = false;
				}
			}
		} while (flag);
		Scanner in = new Scanner(System.in);
		System.out.println("请输入密码:");
		String password = in.nextLine();
		System.out.println("当前用户的用户名:" + userName.trim() + "\n当前用户的密码:" + password);
		in.close();
	}
}

9)打印日历 使用Calendar类计算并打印当前月份的日历

import java.util.Calendar;

public class MyCalendar {
	public static void main(String[] args) {
		StringBuilder str = new StringBuilder(); // 用于记录输出内容
		Calendar c = Calendar.getInstance(); // 获取当期日历对象
		int year = c.get(Calendar.YEAR); // 当前年
		int month = c.get(Calendar.MONTH) + 1; // 当前月
		c.add(Calendar.MONTH, 1); // 向后加一个月
		c.set(Calendar.DAY_OF_MONTH, 0); // 日期变为上个月最后一天
		int dayCount = c.get(Calendar.DAY_OF_MONTH); // 获取月份总天数
		c.set(Calendar.DAY_OF_MONTH, 1); // 将日期设为月份第一天
		int week = c.get(Calendar.DAY_OF_WEEK); // 获取第一天的星期数
		int day = 1; // 从第一天开始
		str.append("\t\t" + year + "-" + month + "\n"); // 显示年月
		str.append("日\t一\t二\t三\t四\t五\t六\n"); // 星期列
		for (int i = 1; i <= 7; i++) { // 先打印空白日期
			if (i < week) { // 如果当前星期小于第一天的星期
				str.append("\t"); // 不记录日期
			} else {
				str.append(day + "\t"); // 记录日期
				day++;// 日期递增
			}
		}
		str.append("\n"); // 换行
		int i = 1; // 7天换一行功能用到的临时变量
		while (day <= dayCount) { // 如果当前天数小于等于最大天数
			str.append(day + "\t");// 记录日期
			if (i % 7 == 0) {// 如果输出到第七天
				str.append("\n");// 换行
			}
			i++;// 临时变量递增
			day++;// 天数递增
		}
		System.out.println(str);// 打印日历
	}
}

10)勾股定理数 找出1~100中都有哪些数符合勾股定理。例如3、4、5。

public class Demo {
	public static void main(String[] args) {
		for (int a = 1; a <= 100; a++) {
			for (int b = 1; b <= 100; b++) {
				for (int c = 1; c <= 100; c++) {
					if (Math.pow(a, 2) + Math.pow(b, 2) == Math.pow(c, 2)) {
						System.out.println(a + "," + b + "," + c);
					}
				}
			}
		}
	}
}

11)坐标移动 一个小球在直角坐标系中的坐标位置是(15,4),它向与竖直线成30°角的东北方向移动了100个单位的距离,请问小球移动后的坐标是多少?

public class Demo {
	public static void main(String[] args) {
		double distance = 100;
		int x1 = 15, y1 = 14;
		int angle = 30;
		double distance_H = distance * Math.sin(Math.toRadians(angle));
		double distance_V = distance * Math.cos(Math.toRadians(angle));
		int x2 = x1 + (int) Math.round(distance_H);
		int y2 = y1 + (int) Math.round(distance_V);
		System.out.println("新坐标(" + x2 + "," + y2 + ")");
	}
}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务