2020.1.15 Java基础练习

嘻嘻嘻,用来做完领年货的!!! 今天西安终于下雪了!!!

1. 计算指定时间( t )内,物体自由落体的位移距离

自由落体公式:s = 1 / 2 × g × t的平方
s 代表 位移距离
t 代表 自由落体时间
g = 9.8 代表 重力加速度
!!! 用final来限制g的值不能改变

public class ApesourceExample01 {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		System.out.println("请输入物体自由落体的时间(秒):");
		int t = input.nextInt(); //自由落体时间
		//final表示变量g的值不能改变
		final double g = 9.8; //重力加速度常量
		double s = 1.0/2.0*g*Math.pow(t, 2); //位移距离
		System.out.println(t + "秒后,物体自由落体的位移距离是" + s + "米");
	}
}

2. 输入字符串,统计该字符串中大写字母、小写字母、数字以及其他符号的数量。

public class ApesourceExample02 {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		String str = input.next();
		int upperCase = 0; // 大写字母
		int lowerCase = 0; // 小写字母
		int digit = 0; // 数字
		int otherChar = 0; // 其它符号
		
		for(int i=0;i<str.length();i++) {
			char num=str.charAt(i);
			if(num>='A'&&num<='Z') {
				upperCase++;
			}else if(num>='a'&&num<='z') {
				lowerCase++;
			}else if(num>='0'&&num<='9') {
				digit++;
			}else {
				otherChar++;
			}
		}
		System.out.println("字符串\"" + str + "\"中共包含:");
		System.out.println("大写字母" + upperCase + "个");
		System.out.println("小写字母" + lowerCase + "个");
		System.out.println("数字" + digit + "个");
		System.out.println("其它符号" + otherChar + "个");
	}
}

3. 计算指定十进制整数的二进制。

public class ApesourceExample03 {
	public static void main(String[] args) {
		int number = new Scanner(System.in).nextInt();
		String str = "";
		do {
			str=number%2+str;
			number/=2;
		}while(number>0);
		
		System.out.println("该数字的二进制为:" + str);
	}
}

4. 对三个整型变量进行升序排列

采用三目运算符

public class ApesourceExample04 {
	public static void main(String[] args) {
		// 在控制台依次输入3个整数,分别存入变量a、b、c
		Scanner input = new Scanner(System.in);
		int a = input.nextInt();
		int b = input.nextInt();
		int c = input.nextInt();
		
		int min = a<b?(a<c?a:c):(b<c?b:c); // 最小值
		int max = a>b?(a>c?a:c):(b>c?b:c); // 最大值
		int mid = a>b?(a>c?(b>c?b:c):a):(b>c?(a>c?a:c):b); // 中间值  
		// 完成对整型变量a、b、c的升序排列
		System.out.println(min);
		System.out.println(mid);
		System.out.println(max);
	}
}

5. 通过System类查看常用系统属性

  • java.version : Java运行环境版本
  • java.home : Java安装文件夹
  • java.vm.version : Java虚拟机版本
  • java.vm.name :Java虚拟机名称
  • os.name : 操作系统名称
  • os.arch : 操作系统架构
  • os.version :操作系统版本
public class ApesourceExample05 {
	public static void main(String[] args) {
		// 示例:获取Java运行环境版本
		String java_version = System.getProperty("java.version");
		System.out.println("Java运行环境版本为:" + java_version);
		// 获取Java安装文件夹
		String java_home = System.getProperty("java.home");
		System.out.println("Java安装文件夹为:" + java_home);
		// 获取Java虚拟机版本
		String java_vm_version = System.getProperty("java.vm.version");
		System.out.println("Java虚拟机版本为:" + java_vm_version);
		// 获取Java虚拟机名称
		String java_vm_name = System.getProperty("java.vm.name");
		System.out.println("Java虚拟机名称为:" + java_vm_name);
		// 获取操作系统名称
		String os_name = System.getProperty("os.name");
		System.out.println("操作系统名称为:" + os_name);
		// 获取操作系统架构
		String os_arch = System.getProperty("os.arch");
		System.out.println("操作系统架构为:" + os_arch);
		// 获取操作系统版本
		String os_version = System.getProperty("os.version");
		System.out.println("操操作系统作系统版本为:" + os_version);
	}
}

在这里插入图片描述

6. 产生4位长度的字符串,前三位为字母,最后一位是数字,穷举所有的排列组合

public class ApesourceExample06 {
	public static void main(String[] args) {
		// 格式为:前三位为字母,最后一位是数字,穷举所有的排列组合
		// 例如:AAA0 AAA1 .... BHR1 BHR2 ....ZZZ9
		for(char i='A';i<='Z';i++) {
			for(char j='A';j<='Z';j++) {
				for(char m='A';m<='Z';m++) {
					for(int n=0;n<=9;n++){
						System.out.println(i+""+j+""+m+""+n);
					}
				}
			}
		}
	}
}

7. 抽一百次奖,输出抽到次数最多的人

import java.util.Arrays;
import java.util.Random;

public class J {
	public static void main(String[] args) {
		Random ran=new Random();
		String[] lucky= {"李敏镐","肖战","迪丽热巴","陈飞宇","吴亦凡","王一博","朱亚文","王嘉尔","宋祖儿","胡一天"};
		int[] time=new int[lucky.length];
		for(int i=0;i<100;i++) {
			int index=ran.nextInt(lucky.length);
			time[index]++;		
		}
		int max=0; //最大抽到次数
		int maxindex=0;//下标
		for(int i=0;i<time.length;i++) {
			if(time[i]>max) {
				max=time[i];
				maxindex=i;
			}
		}
		System.out.println(Arrays.toString(lucky));
		System.out.println(Arrays.toString(time));
		System.out.println("最大的次数下标为:"+maxindex);
		System.out.println("神赐之人为:"+lucky[maxindex]);
	}
}

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值