import java.util.Scanner;
class Demo03_07{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
//1.先输入年份
System.out.print("请输入年份:");
int year=scanner.nextInt();
//2.输入月份 1月 2月分别用13 14代替 同时year-1
System.out.print("请输入月份:");
int month=scanner.nextInt();
//3.输入日期
System.out.print("请输入日期:");
int day=scanner.nextInt();
//4.对特殊的1月和2月做处理
if(month==1||month==2){
month+=12;
year-=1;
}
//5.套公式
int h=(day+26*(month+1)/10+year%100+year%100/4+year/100/4+5*year/100)%7;
switch(h){
case 0:
System.out.println("是周六");
break;
case 1:
System.out.println("是周日");
break;
case 2:
System.out.println("是周一");
break;
case 3:
System.out.println("是周二");
break;
case 4:
System.out.println("是周三");
break;
case 5:
System.out.println("是周四");
break;
case 6:
System.out.println("是周五");
break;
}
}
}
import java.util.Scanner;
/*
输入一个数字
再判断数字是否为0
如果为0则退出
不是则继续
*/
class Demo03_11{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
double sum=0; //总和
int positives=0; //正数的个数
int negatives=0; //负数的个数
System.out.print("请输入若干数字:");
while(true){//不管三七二十一 先进来再说
int num=scanner.nextInt();
if(num!=0){
sum+=num;
if(num>0){
positives++;
}else{
negatives++;
}
}else{
break; //跳出当前循环
}
}
if(positives+negatives==0){
System.out.println("没有其他数字的输入,除了0");
}else{
System.out.println("正数的个数"+positives);
System.out.println("负数的个数"+negatives);
System.out.println("总和"+sum);
System.out.println("平均值"+sum/(positives+negatives));
}
}
}
import java.util.Scanner;
class Demo03_12{
/*
21 42
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16~21
3 7
*/
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
//1.输入两个数字
System.out.print("请输入两个数字:");
int n1=scanner.nextInt();
int n2=scanner.nextInt();
int gcd=1;
for(int i=n1<n2?n1:n2;i>=1;i--){
if(n1%i==0&&n2%i==0){
gcd=i;
break;
}
}
System.out.println(gcd);
}
}
/*
120 2~120 ->2
60 2~60 ->2
30 2~30 ->2
15 2~15 ->3
5 2~5 ->5
1
*/
import java.util.Scanner;
class Demo03_13{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.print("请输入一个数字:");
int num=scanner.nextInt();
while(true){
for(int i=2;i<=num;i++){
if(num%i==0){
System.out.print(i+" ");
num=num/i;
break;
}
}
if(num==1){
break;
}
}
}
}
/*
什么是素数 就是除了1和其本身之外 没有其他的数字可以整除的
num
2 ~ m ~ num-1 找到一个数字 如果这个数字m num%m==0 num不是素数
如果一个都没有找到的话 这个数字是素数
*/
class Demo03_17{
public static void main(String[] args){
int count=0; //当前素数的个数
boolean flag=true;
for(int num=2;num<=1000;num++){
for(int m=2;m<=num-1;m++){
if(num%m==0){
flag=false;
break;
}
}
if(flag){
count++;
System.out.print(num+" ");
if(count%8==0){ //8 16 24 32
System.out.println();
}
}
flag=true;
}
}
}
/*
int num=10;
boolean flag=true; //默认这个数字是素数
for(int m=2;m<=num-1;m++){
if(num%m==0){//说明num不是素数
flag=false;//此时不是素数
break;
}
}
//如果for正常执行完毕 都没有找到 是素数
// System.out.println("是素数");
//重点就在于 for是如何退出的
//如果for是break出来的 -> 不是素数
//如果for是正常执行完毕的->是素数
if(flag){
System.out.println("是素数");
}else{
System.out.println("不是素数");
}
*/
import java.util.Scanner;
class Demo03_18{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.print("请输入一个数字:");
int imax=scanner.nextInt();
double sum=0;
double flag=1;
for(int i=1;i<=imax;i++){
//sum+=Math.pow(-1.0,i+1);/(2*i-1);
sum+=flag/(2*i-1);
flag=-flag;
}
double pi=sum*4;
System.out.println(pi);
// 累乘 Math.pow(-1.0,i+1) for -1*-1*-1....
}
}
import java.util.Scanner;
class Demo03_19{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.print("请输入一个数字:");
int imax=scanner.nextInt();
double e=1;
double item=1.0;
for(int i=1;i<=imax;i++){
item=item*i; //n!=(n-1)*n;
e+=1/item;
}
System.out.println(e);
}
}
class Demo03_20{
public static void main(String[] args){
int count=0;
for(int i=101;i<=2100;i++){
if(i%4==0&&i%100!=0 || i%400==0){
count++;
System.out.print(i+" ");
if(count%10==0){
System.out.println();
}
}
}
System.out.println("\n闰年一共"+count+"个");
}
}
完全数
class Demo03_21{
public static void main(String[] args){
//6 : 1 2 3 4 5 6
//28: 1 2 4 7 14
//n : 1 ~ n/2
int sum=0;
for(int n=2;n<=10000;n++){
for(int i=1;i<=n/2;i++){
if(n%i==0){
sum+=i;
}
}
if(n==sum){
System.out.println("完全数"+n);
}
sum=0;
}
}
}
import java.util.*;
class Demo03_22{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
Random random=new Random();
int usrWin=0;
int comWin=0;
while(true){
System.out.print("请输入剪刀0 石头1布2:");
int usr=scanner.nextInt();
int com=random.nextInt(3);
String usrStr = "";
String comStr = "";
switch(usr){
case 0:
usrStr = "scissor";
break;
case 1:
usrStr = "rock";
break;
case 2:
usrStr = "paper";
break;
}
switch(com){
case 0:
comStr = "scissor";
break;
case 1:
comStr = "rock";
break;
case 2:
comStr = "paper";
break;
}
if(usr==com){
System.out.printf("The computer is %s.you are %s too.It is a draw\n",comStr,usrStr);
}else if(usr==0&&com==2 || usr==1&&com==0 || usr==2&&com==1){
System.out.printf("The computer is %s.you are %s.You won\n",comStr,usrStr);
usrWin++;
}else{
System.out.printf("The computer is %s.you are %s.You lost\n",comStr,usrStr);
comWin++;
}
if(usrWin==2||comWin==2){
break;
}
}
if(usrWin==2){
System.out.println("最终玩家赢!");
}else{
System.out.println("最终电脑赢!");
}
}
}
/*
12/2 6 ~ 0
6/2 3 ~ 0
3/2 1 ~ 1
1/2 0 ~ 1
1100
*/
import java.util.Scanner;
class Demo03_23{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.print("请输入一个数字:");
int num=scanner.nextInt();
String binStr="";
while(true){
binStr=num%2+binStr;//"1100"
num/=2;
if(num==0){
break;
}
}
System.out.println(binStr);
}
}
import java.util.Scanner;
class Demo03_24{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
int num=0;
int max=0;
int count=0;
System.out.print("请输入数字:");
while(true){
num=scanner.nextInt();
if(num==0){
break;
}else if(num>max){
max=num;
count=1;
}else if(num==max){
count++;
}
}
System.out.println("max="+max+",count="+count);
}
}