循环练习

在这里插入图片描述

package day03;
import java.util.Scanner;
public class Class12 {
	public static void main(String[] args) {
		int num=(int)(Math.random()*101); //生成0-101的随机数
		Scanner input= new Scanner(System.in); 
		System.out.println("猜猜数字是几?");
		while (true){    //无条件开启死循环
			System.out.print("请输入你要猜的数字:"); //提示用户输入数字
			int number=input.nextInt();
			if (number>num) { //进行数字大小判断
				System.out.println("猜大了");
			}else if(number<num){
				System.out.println("猜小了");
			}else{
				System.out.println("猜对了");
				System.out.println("这个数是"+num);
				break; //结束循环
			}
		}
	}
}

在这里插入图片描述

package day03;
//找出一个整数的因子
import java.util.Scanner;
public class Class14 {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		System.out.print("请输入一个整数:"); //提示用户输入
		int num = input.nextInt();
		while(true){
			boolean flag=true; //结束
			for(int i=2;i<num;i++){
				if(num%i==0){
					System.out.print(i+",");
					num=num/i;
					flag=false;//未结束
					break;
				}
			}
			if(flag){
				System.out.print(num+"。");
				break;
			}
		}
	}
}

在这里插入图片描述

package day03;
//输入数字 显示为金字塔形状
import java.util.Scanner;
public class Class15 {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		System.out.print("请输入一个整数:");
		int num = input.nextInt();
		for(int i=1;i<=num;i++){
			for(int k=1;k<=7-i;k++){
				System.out.print("  ");
			}
			for(int j=-(i-1);j<=i-1;j++){
				System.out.print(Math.abs(j)+1+" ");
			}
			System.out.println();
		}
	}
}

在这里插入图片描述

package day03;
//计算Π
public class Class16 {
	public static void main(String[] args) { 
		double sum=0;
		for(int i=1;i<=1000;i++){ 
			sum+=Math.pow(-1, i+1)/(2*i-1);
		}
		sum*=4; //将sum乘4再赋值给sum
		System.out.println(sum);
	}
}

在这里插入图片描述

package day03;
//计算阶乘
import java.util.Scanner;
public class Class17 {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		System.out.print("请输入一个整数:"); //提示用户输入数字
		int num = input.nextInt(); //接收用户输入数字
		double sum=1;
		double n=1;
		for(int i=1;i<=num;i++){
			n*=i;
			sum+=1/n; //阶乘结果累加
		}
		System.out.println(sum);
	}
}

在这里插入图片描述

package day03;
//完全数
public class Class18 {
	public static void main(String[] args) {
		for(int i=1;i<=10000;i++){
			int sum=0;
			for(int j=1;j<=i/2;j++){
				if(i%j==0){
					sum+=j;
				}
			}
			if(sum==i){
				System.out.println(sum);
			}
		}
	}
}

编写石头-剪刀-布程序,让用户连续玩,直到玩家或者计算机赢得两次结束。

package day03;

import java.util.*;

public class Class19 {
	public static void main(String[] args) {
		String arr[] = {"剪刀","石头","布"};
		Scanner input = new Scanner(System.in);
		Random random = new Random();
		int comCount=0; //电脑赢的次数
		int usrCount=0; //用户赢的次数
		while(true){
			//用户输入一个
			System.out.print("请输入 石头0 剪刀1 布2:");
			int usr=input.nextInt();
			//电脑随机生成一个
			int com=random.nextInt(3); //[0,3)
			if(usr==com){ //平局
				System.out.println("玩家是:"+arr[usr]+"  电脑是:"+arr[com]);
			}else if(usr-com==1||usr-com==-2){ //玩家赢
				System.out.println("玩家是:"+arr[usr]+"  电脑是:"+arr[com]);
				usrCount++; //用户赢的次数
			}else{ //电脑赢
				System.out.println("电脑是:"+arr[com]+"  玩家是:"+arr[usr]);
				comCount++; //电脑赢得次数
			}
			if(usrCount==2 || comCount==2){
				break;
			}
		}
		if(usrCount==2){
			System.out.println("最终,玩家赢!");
		}else{
			System.out.println("最终,电脑赢!");
		}
	}
}

在这里插入图片描述

package day03;
//十进制数转换为字符串的十六进制数
import java.util.Scanner;
public class Home12 {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		System.out.print("输入十进制数:");
		int number = input.nextInt();
		String str="";
		while(true){
			int rest=number%16;
			number=number/16;
			if(rest<10){
				str=rest+str;
			}else{ //余数>=10
				str=(char)(55+rest)+str;//通过ASSIC值转换为十六进制
			}
			if(number==0){
				break;
			}
		}
		System.out.println(str);
	}
}

在这里插入图片描述

package day03;
//金字塔
public class Home16 {
	public static void main(String[] args) {
		for(int i=1;i<=8;i++){
			for(int k=1;k<=8-i;k++){
				System.out.print("    ");
			}
			for(int j=-(i-1);j<=i-1;j++){
				System.out.printf("%-4.0f",Math.pow(2,i-1-Math.abs(j)));
			}
		}
	}
}

在这里插入图片描述

package day03;
import java.util.Scanner;
public class Home18 {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		System.out.print("Enter numbers:");
		int max=0; //最大值
		int count=0; //最大值出现次数
		while(true){
			int num=input.nextInt();
			if(num>max){
				max=num;
				count=1;
			}else if(num==max){ //输入数字和之前的最大值相等
				count++;
			}
			if(num==0){
				break;
			}
		}
		System.out.println(max+"的最大次数为"+count);
	}
}

打印下面图形
在这里插入图片描述

package day03;
public class Exercise03 {
	public static void main(String[] args) {
		for(int i=1;i<=9;i++){ //行数
			for(int k=1;k<=Math.abs((i-5));k++){ //空格变化关系
				System.out.print(" ");
			}
			for(int j=1;j<=i && (i+j)<=10;j++){ //*打印的规律
				System.out.print("*");
			}
			System.out.println();
		}
	}
}

编写程序,打印下面图形
在这里插入图片描述

package day03;
public class Exercise02 {
	public static void main(String[] args) {
			for(int i=1;i<=11;i++){ //行数
				for(int j=1;j<=i && (i+j)<=12;j++){ //*号和行数的关系
					System.out.print("*");
				}
				System.out.println();
			}
		}
	}

在这里插入图片描述

package day03;
//显示闰年
public class Home17 {
	public static void main(String[] args) {
		int count = 0; //闰年数量
		for(int i=101;i<=2100;i++){ //101-2100之间的闰年
			if(i%4==0 && i%100!=0 ||i%400==0){ //判断闰年
				System.out.print(i+" ");
				count++; //闰年数量自加
				if(count%10==0){
					System.out.println();
				}
			}
		}
		System.out.println("总共有"+count+"个闰年。");
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章