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