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+"个闰年。");
}
}