Javaee

1.(if 语句)键盘输入一个整数,表示一个人的年龄。 如果小于6 岁,则输出“儿童”, 6 岁到13 岁,输出 “少儿”; 14 岁到18 岁,输出 “青少年”; 18 到35 岁,输 出“青年”; 35 岁到50 岁,输出 “中年”; 50 岁以上输出 “中老年”

import java.util.Scanner;
class Day03Homework01 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入年龄:");
		int age = sc.nextInt();
		if(age>=50){
			System.out.println("中老年");
		}else if(age>=35){
			System.out.println("中年");
		}else if(age>=18){
			System.out.println("青年");
		}else if(age>=14){
			System.out.println("青少年");
		}else if(age>=6){
			System.out.println("少儿");
		}else if(age>0){
			System.out.println("儿童");
		}else{
			System.out.println("您输入的年龄不合法");
		}
 
	}
}

2.使用switch语句完成如下需求 某学员考试名次决定奖励,奖励机制如下: 第1名 参加麻省理工大学组织的1个月夏令营 第2名 奖励苹果笔记本电脑一部 第3名 奖励移动硬盘一个 其他名次 没有奖励 (注:键盘输入获得名次。相应奖励,在控制台输出即可)

import java.util.Scanner;
class Day03Homework02 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入您获得的名次:");
		int rand = sc.nextInt();
		switch(rand){
			case 1:
				System.out.println("参加麻省理工大学组织的1个月夏令营");
				break;
			case 2:
				System.out.println("奖励苹果笔记本电脑一部");
				break;
			case 3:
				System.out.println("奖励移动硬盘一个");
				break;
			default:
				System.out.println("没有奖励");
				break;
		}
	}
}

3、分析以下需求,并用代码实现:

(1)根据工龄(整数)给员工涨工资(整数),工龄和基本工资通过键盘录入

(2)涨工资的条件如下:

[10-15) +5000

[5-10) +2500

[3~5) +1000

[1~3) +500

[0~1) +200

(3)如果用户输入的工龄为10,基本工资为3000,程序运行后打印格式"您目前工作了10年,

基本工资为 3000元, 应涨工资 5000元,涨后工资 8000元"


import java.util.Scanner;
class Day03Homework03 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入您的工龄:");
		int yearNumber = sc.nextInt();
		System.out.println("请输入您的基本工资:");
		int baseSalary = sc.nextInt();
		//定义变量存储应该涨的工资
		int addSalary;
		//定义变量存储最终的工资
		int finalSalary;
		switch(yearNumber){
			case 14:
			case 13:
			case 12:
			case 11:
			case 10:
				addSalary = 5000;
				finalSalary = baseSalary + addSalary;
				System.out.println("您目前工作了"+yearNumber+"年,"+"基本工资为"+baseSalary+"元,"+"应涨工资"+addSalary+"元,"+"涨后工资 "+finalSalary+"元");
				break;
			case 9:
			case 8:
			case 7:
			case 6:
			case 5:
				addSalary = 2500;
				finalSalary = baseSalary + addSalary;
				System.out.println("您目前工作了"+yearNumber+"年,"+"基本工资为"+baseSalary+"元,"+"应涨工资"+addSalary+"元,"+"涨后工资 "+finalSalary+"元");
				break;
			case 4:
			case 3:
				addSalary = 1000;
				finalSalary = baseSalary + addSalary;
				System.out.println("您目前工作了"+yearNumber+"年,"+"基本工资为"+baseSalary+"元,"+"应涨工资"+addSalary+"元,"+"涨后工资 "+finalSalary+"元");
				break;
			case 2:
			case 1:
				addSalary = 500;
				finalSalary = baseSalary + addSalary;
				System.out.println("您目前工作了"+yearNumber+"年,"+"基本工资为"+baseSalary+"元,"+"应涨工资"+addSalary+"元,"+"涨后工资 "+finalSalary+"元");
				break;
			case 0:
				addSalary = 200;
				finalSalary = baseSalary + addSalary;
				System.out.println("您目前工作了"+yearNumber+"年,"+"基本工资为"+baseSalary+"元,"+"应涨工资"+addSalary+"元,"+"涨后工资 "+finalSalary+"元");
				break;
			default:
				System.out.println("您输入的工龄不合法");
				break;
		}
	}
}

4、分析以下需求,并用代码实现:
(1)珠穆朗玛峰高度为8848米,有一张足够大的纸,厚度为0.001米。
(2)请问,我折叠多少次,可以折成珠穆朗玛峰的高度。

/*
	分析以下需求,并用代码实现:
	(1)珠穆朗玛峰高度为8848米,有一张足够大的纸,厚度为0.001米。
	(2)请问,我折叠多少次,可以折成珠穆朗玛峰的高度。
*/
class Day03Homework04 {
	public static void main(String[] args) {
		double height = 0.001;
		int count = 0;
		while(height<8848){
			height*=2;//如果小于8848,就折叠一次
			count++;
		}
		if(height>=8848){
			System.out.println(count);
		}
	}
}

5、分析以下需求,并用代码实现: (1)打印1到100之内的整数,但数字中包含9的要跳过 (2)每行输出5个满足条件的数,之间用空格分隔

/*
	分析以下需求,并用代码实现:
	(1)打印1到100之内的整数,但数字中包含9的要跳过
	(2)每行输出5个满足条件的数,之间用空格分隔
	分析:个位数中含9,十位数含9
	       i%10==9    i/10==9
*/
class Day03Homework05 {
	public static void main(String[] args) {
		/*int count = 0;
		for(int i=1;i<=100;i++){
			if(i%10!=9&&i/10!=9){
				System.out.print(i+" ");
				count++;
				if(count%5==0){
					System.out.println();
				}
			}
		}*/
		int count = 0;
		for (int num = 1; num <= 100; num++)
		{
			if (num % 10 == 9 || num / 10 == 9)
			{
				continue;//满足含数字9的就跳过该次循环,继续下一次循环
			}
			count++;
			System.out.print(num+" ");
			if (num < 10)
			{
				System.out.print(" ");//为了对齐,小于10的输出一个空格
			}
			if (count % 5 == 0)
			{
				System.out.println();//5个换行
			}
		}
	}
}

*6 、控制台输入一个字符串,判断这个字符串是否对称 abcba算对称 abccba也算对称 charAt(0) charAt(str.length()-1)

//1.控制台输入一个字符串,判断这个字符串是否对称    abcba算对称  abccba也算对称
import java.util.Scanner;
class Homework01 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入字符串:");
		String str = sc.nextLine();
		boolean flag = true;//假设对称
		for(int i=0; i<=str.length()/2; i++){
			if(str.charAt(i)!=str.charAt(str.length()-1-i)){
				flag = false;//修正
			}
		}
		if(flag){
			System.out.println(str+"对称");
		}else{
			System.out.println(str+"不对称");
		}
	}
}

7.(1)键盘输入一个正整数,求这个数的阶乘 (2)求 1!+2!+3!+4!+5!

//12.求 1!+2!+3!+4!+5!
class Test12 {
	public static void main(String[] args) {
		int sum = 0;
		for(int i=1; i<=5; i++){
			int factorial = 1;
			for(int j=1; j<=i; j++){
				factorial*=j;
			}
			sum+=factorial;
		}
		System.out.println(sum);
	}
}

8、 String str= "abc god 中国 java"去掉字符串中的空格。 结果:String str2 = “abcgod中国java”(上课做过)

/*
2.String  str= "abc  god     中国                java"去掉字符串中的空格。 
    结果:String str2 = "abcgod中国java"
*/
class Homework02 {
	public static void main(String[] args) {
		String  str= "abc  god     中国                java";
		//定义一个空的字符串,存储结果
		String str2 = "";
		for(int i=0;i<str.length();i++){
			if(str.charAt(i)!=' '){
				//如果不是空格就拼接到str2上
				str2+=str.charAt(i);
			}
		}
		System.out.println(str2);
	}
}

9、 String str= “abc god 中国 java”(较难) 反转每个单词 结果: “cba dog 国中 avaj”

/*
3. String  str= "abc  god     中国                java"(较难)  反转每个单词
    结果:       "cba  dog     国中                avaj"
*/
class Homework03 {
	public static void main(String[] args) {
		String  str= "abc  god     中国                java";
		String result = "";
		String temp = "";
		str+=" ";//加上空格反转后的temp = avaj才能加到result里面
		for(int i=0;i<str.length();i++){
			char ch = str.charAt(i);
			if(ch!=' '){
				temp = ch+temp;//a ab  abc
			}else{
				result = result+temp+" ";
				temp = "";
			}
		}
		System.out.println(str);
		System.out.println(result);
	}
}

数组

1到10之间的随机数,把这些随机数装入一个10个长度的数据。要求,数组中数据不能重复

import java.util.Random;
class Homework06 {
	public static void main(String[] args) {
		Random random = new Random();
		int[] arr = new int[10];
		int r;
		for(int i=0;i<arr.length;i++){
			do{
				 r = random.nextInt(10)+1;
			}while(isRepeat(arr,r));
			arr[i] = r;
			System.out.println(arr[i]);
		}
	}
	//定义一个方法:去重
	public static boolean isRepeat(int[] arr,int num){
		for(int i=0;i<arr.length;i++){
			if(arr[i]==num){
				//遇到return整个程序就结束
				return true;
			}
		}
		return false;
	}
}

你可能感兴趣的:(#,JavaEE,练习题)