1. 打印1~100的数字
public static void main(String[] args) {
//1. 打印1~100的数字
int i = 0;
while(i<=100){
System.out.println(i++);
}
}
//2.求两个数之商,要求对结果小数点后四舍五入保留三位小数。
public static void main(String[] args) {
//求两个数之商,要求对结果小数点后四舍五入保留三位小数。
//思路:先将取得的商利用int强转成四位整数,在进行除法变回刚取得的商,获取三位小数
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数:");
double i = sc.nextDouble();
System.out.println("请输入第二个数:");
double j = sc.nextDouble();
double k = i / j; //假设商为1.2346
int temp = (int)(k*1000+0.5);//这里的+0.5是为了四舍五入.逢10进1(1235(第五位的6已经四舍五入))
System.out.println(temp);
double d = temp/1000d; // 末尾一定要加d进行数据类型转换 (1.235)转换成功
System.out.println(d);
}
3.随机数
public static void main(String[] args) {
//随机数
// 默认得到的是一个双精度的浮点数。这个数的取值范围 在 [0,1)之间
double random = Math.random();
//如果想取更大范围的随机数可以进行乘法运算
double d = Math.random()*100;
//这里有个公式,可以让你在任意区间取随机数
//目标[start end]
//(int)(Math.random()*(end-start+1)+end
//例如:[200 300]
int i = (int)(Math.random()*101)+200;
System.out.println(i);
}
4.
随机生成一个年份(1900-2030之间),判断该年是否是闰年
public static void main(String[] args) {
//随机生成一个年份(1900-2030之间),判断该年是否是闰年
//思路:先生成随机数,利用前面的公式,闰年的判断位4年一润,百年不润.四百年一润
int year = (int)(Math.random() * (2030 - 1900 + 1)) + 1900;
System.out.println(year);
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0){
System.out.println(year+"是闰年");
}
else{
System.out.println(year+"是平年");
}
}
5.
输入年月日三个值,求所输入的日是这一年的第几天(限定只能用switch来实现)
public static void main(String[] args){
//输入年月日三个值,求所输入的日是这一年的第几天(限定只能用switch来实现)
//思路:先用Scanner获取用户输入,先不考虑闰年,如果输入的是2022.3.31
//那我们是不是就可以月份-1再加上我们这个月的天数算出第几天
Scanner sc = new Scanner(System.in);
System.out.println("请输入年份:");
int year = sc.nextInt();
System.out.println("请输入月份:");
int month = sc.nextInt();
System.out.println("请输入日份:");
int day = sc.nextInt();
int days = 0;
//这里用到的是switch没有break穿刺的特性
switch(month-1){
case 11:
days += 30;
case 10:
days += 31;
case 9:
days += 30;
case 8:
days += 31;
case 7:
days += 31;
case 6:
days += 30;
case 5:
days += 31;
case 4:
days += 30;
case 3:
days += 31;
case 2:
days += 28;
case 1:
days += 31;
default:
break;
}
days = day+days;
//判断是否为闰年,是否需要加上一天,这里要注意month不能等于1或者2不然会出bug
if ((month != 1 && month != 2 )&& (year % 4 == 0 && year % 100 !=0 || year % 400 == 0)){
days+=1;
}
System.out.println("总天数"+days);
}
6.等差数列
public static void main(String[] args) {
//打印100内的等差数列,从1开始,差值为4
for (int i = 1;i<=100;i+=4){
System.out.println(i);
}
}
7.等比数列
public static void main(String[] args) {
//打印100内的等比数列,从1开始,等比值为2
for (int i = 1;i<=100;i*=2){
System.out.println(i);
}
}
//8.输出 100 内能被3整除但是不能被4整除的所有奇数?
public static void main(String[] args) {
//输出 100 内能被3整除但是不能被4整除的所有奇数?
int i = 0;
while(i<=100){
if (i%3 == 0 && i%4!=0 && i%2!=0){
System.out.println(i);
}
i++;
}
}
9.求100内的和
public static void main(String[] args) {
//求100内的和
int i = 0;
int sum = 0;
while(i<=100){
sum+=i;
i++;
}
System.out.println(sum);
}
10.一个循环求出100内的奇数和、偶数和
public static void main(String[] args) {
//一个循环求出100内的奇数和、偶数和
int i = 0;
int odd = 0;//定义偶数和
int even = 0;//定义奇数和
while (i <= 100) {
if (i % 2 == 0) {
odd += i;
} else {
even += i;
}
i++;
}
System.out.println(odd);//偶数和
System.out.println(even);//奇数和
}
11.求 a+aa+aaa+aaaa+aaaaa (其中a是2)
public static void main(String[] args) {
// 求 a+aa+aaa+aaaa+aaaaa (其中a是2)
//思路:2+22+222+2222+22222相当于2+(2*10+2)+(2*100+2)+(2*1000+2)+(2*10000+2)
int i = 1;
int a = 0;
int sum = 0;
while(i<=5){
a+=sum;
sum = a*10+2;
i++;
}
System.out.println(sum);
}
12.6!
public static void main(String[] args) {
//6!
//思路:1*2*3*4*5*6
int i = 1;
int j = 1;
while(i<=6){
j*=i;
i++;
}
System.out.println(j);
}
13.求1! + 4! + 7! + …+ 16!
public static void main(String[] args) {
//求1! + 4! + 7! + …+ 16!
//思路:先打印出 1,4,,7,10,13,16,在求出各自阶乘,在相加 需要巩固
long sum = 0;
for(int i = 1;i<=16;i+=3){
long c = 1;
for (long j = 1;j<=i;j++){
c*=j;
}
sum+=c;
}
System.out.println(sum);
}
14.求共有几组i,j,k,符合算式ijk+kji=1333,其中i,j,k是0~9之间的一位整数?
public static void main(String[] args) {
// 求共有几组i,j,k,符合算式ijk+kji=1333,其中i,j,k是0~9之间的一位整数? 需要巩固
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
for (int k = 0; k < 10; k++) {
if ((i*100+j*10+k) + (k*100 +j * 10 + i) == 1333) {
System.out.println(i+" " + j + " " + k);
}
}
}
}
}
15.求四位数的偶数中,所有个十百位数字之和是15倍数的数,它们的总 和?
public static void main(String[] args) {
// 求四位数的偶数中,所有个十百位数字之和是15倍数的数,它们的总 和? 需要巩固
int sum = 0;
for (int i = 1000; i <= 9999; i++) {
int g = i % 10;
int s = i / 10 % 10;
int b = i / 100 % 10;
int q = i / 1000 % 10;
int temp = g + s + b + q;
if (temp % 15 == 0) {
sum += i;
}
}
System.out.println(sum);
}
16.99乘法口诀表
public static void main(String[] args){
//99乘法口诀表
for (int i = 1;i<=9;i++){
for (int j = i;j<9;j++) {
int sum = i*j;
System.out.println(i + "*" + j + "=" +sum);
}
}
}
17.//输出所有的水仙花数 1^3+5^3+3^3=153
public static void main(String[] args) {
//输出所有的水仙花数 1^3+5^3+3^3=153
for (int i = 100;i<=999;i++){
int g = i%10;//个
int s = i/10%10;//十
int b = i/100%10;//百
if(g*g*g+b*b*b+s*s*s == i){
System.out.println(i);
}
}
}
18.键盘输入一个字符串,将输入的大小写字母互换后输出
public static void main(String[] args) {
//键盘输入一个字符串,将输入的大小写字母互换后输出
//ASCII码表
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串");
String str = sc.next();//获取长度
for (int i = 0;i=65 && c<=90 ){
System.out.print((char)(c+32));
}
if (c >= 97 && c<= 122 ) {
System.out.print((char)(c-32));
}
}
sc.close();
}
19.键盘输入一个字符,判断是字母,数字还是中文字符
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入一个字符:");
String str = sc.next();
char c = str.charAt(0);
if (Character.isUpperCase(c) || Character.isLowerCase(c)) {
System.out.println(c + "是字母");
}
if(Character.isDigit(c)) {
System.out.println(c + "是数字");
}
//-- 所以,一般用4E00-9FA5已经可以,如果要更广,则用2E80-A4CF || F900-FAFF || FE30-FE4F
if (c >= '\u4e00' && c <= '\u9fa5') {
System.out.println("是中文");
}
sc.close();
}
20.有5家衣服专卖店,每家最多购买3件。用户可以选择离开,可以买衣服。最后打印总共买了几件衣服。
public static void main(String[] args) {
int sum = 0;
Scanner sc = new Scanner(System.in);
for (int i = 1; i <= 5; i++) {
System.out.println("欢迎光临第" + i + "家店");
for (int clothes = 1;clothes<=3;clothes++){
System.out.println("要离开吗(y/n)");
char str = sc.next().charAt(0);
if(str == 'n'){
break;
}
else if(str == 'y'){
System.out.println("买了一件衣服");
sum++;
}
}
System.out.println("离店结账");
}
System.out.println("共买了:" + sum + "件衣服");
}