循環練習

在這裏插入圖片描述

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+"個閏年。");
	}
}

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