import javax.crypto.spec.PSource;
import java.io.IOException;
import java.util.Random;
import java.util.Scanner;
/**
* Created with IntelliJ IDEA.
* Description:
* User: zhuzhuzhuchao
* Date: 2021-12-23
* Time: 18:04
*/
public class TestDemo {
public static void main(String[] args) throws IOException {
// 输入输出
// 输出
System.out.println("输出且换行");
System.out.print("输出不换行");
System.out.printf("%d\n",10);//基本不用
// 输入
System.out.println("Enter a Char");
char i = (char) System.in.read();// alt + 回车
System.out.println("your char is :"+i);
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
System.out.println(n);// int
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
System.out.println(str);// 字符串
scanner.close();// 关闭scanner
// 循环读整数
Scanner scanner = new Scanner(System.in);
while (scanner.hasNextInt()) {
// hasNext: 判断有没有下一个int
int n = scanner.nextInt();
System.out.println(n);
}// ctrl + D 结束
// 猜数字游戏
// 随机生成数字
// Random random = new Random(seed:11111); 伪随机
Random random = new Random();
int rand = random.nextInt(100);// [0-100)
//int rand = random.nextInt(bound:100)+1;// [1-101)
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请输入要猜的数字:");
int n = scanner.nextInt();
if (n < rand) {
System.out.println("猜小了");
} else if (n == rand) {
System.out.println("猜对了");
break;
} else {
System.out.println("猜大了");
}
}
// 作业讲解
// 根据输入的年龄, 来打印出当前年龄的人是少年(低于18),
// 青年(19-28), 中年(29-55), 老年(56以上)
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();;
if (n < 18) {
System.out.println("少年");
} else if (n >= 18 && n < 29) {
System.out.println("青年");
} else if (n >= 29 && n < 56) {
System.out.println("中年");
} else {
System.out.println("老年");
}
// 判断一个数是不是素数
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int i = 0;
for (i = 2; i < n; i++) {// 优化:i <= n/2 或 i <= Math.sqrt(n)
if (n % i == 0) {
System.out.println(n+"不是素数");
break;
}
}
if (i == n) {
System.out.println(n+"是素数");
}
// 输出乘法口诀表
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(i+"*"+j+"="+i*j+" ");
}
System.out.println();
}
// 辗转相除法
int a = 24;
int b = 18;
int c = a%b;
while (c != 0) {
a = b;// a = 18
b = c;// b = 6
c = a%b;// 0
}
System.out.println("最大公约数是"+" "+b);
// 计算1/1 - 1/2...+ 1/99 - 1/100的值
double sum = 0.0;
int flg = 1;
for (int i = 1; i <= 100; i++) {
sum = sum + 1.0/i * flg;
flg = -flg;
}
System.out.println(sum);
// 编写程序数一下 1到 100 的所有整数中出现多少个数字9
int count = 0;
for (int i = 1; i <= 100; i++) {
if (i % 10 == 9) {
count++;
}
if (i / 10 == 9) {
count++;
}
}
System.out.println(count);
}
public static void main(String[] args) {
// 方法
// 方法:C函数是一个意思。理解成一个功能(可以重复使用)
// 函数名:小驼峰
int ret = sumAdd(10);// 10(实参)
System.out.println(ret);
System.out.println(sumAdd(10));// sout打印的函数必须有返回值
}
public static int sumAdd(int n) {// n(形参)
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += i;
}
return sum;
}
public static void main(String[] args) {
System.out.println(facSum(5));
}
public static int fac(int n) {
int ret = 1 ;
for (int i = 1; i <= n; i++) {
ret *= i;
}
return ret;
}
public static int facSum(int n) {
int sum = 0;
for (int i = 1; i <= n; i++) {
sum = sum + fac(i);
}
return sum;
}
public static void main(String[] args) {
int a = 10;
int b = 20;
swap(a,b);
System.out.println(a+" "+b);// 实参不会交换
// JAVA里面拿不到栈上的地址
}
public static void swap(int a,int b) {
int tmp = a;
a = b;
b = tmp;
}
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println(add(a,b));
double c = 10.3;
double d = 20.4;
System.out.println(add(c,d));
}
public static int add(int a,int b) {
return a+b;
}
public static double add(double a,double b) {
return a+b;
}
// overload 函数重载 1.方法名相同 2.方法参数列表不同(个数,类型) 3.方法的返回值不做要求
public static void main(String[] args) {
login();
}
public static void login() {
Scanner scanner = new Scanner(System.in);
int count = 3;
while (count != 0) {
System.out.println("请输入您的密码:");
String password = scanner.nextLine();
if (password.equals("123456")) {
System.out.println("登录成功");
break;
} else {
count--;
System.out.println("密码错误,还有" + count + "次机会");
}
}
}
}