1.根据年龄,来打印出当前年龄的人是少年(低于18)/青年(19-28),中年(29-55),老年(56以上)
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int age = sc.nextInt();
if(age >= 0 && age <= 18){
System.out.println("是少年");
}else if(age >= 19 && age <= 28){
System.out.println("是青年");
}else if(age >= 29 && age <= 55){
System.out.println("是中年");
}else{
System.out.println("是老年");
}
}
2.判定一个数字是否是素数.
public static boolean isPrime(int num){
for(int i=2;i<=Math.sqrt(num);i++){ //优化
// for(int i=2;i<num/2;i++){
// for(int i=2;i<num;i++){
if(num%i==0){
// System.out.println("不是素数");
return false;
}
}
// System.out.println("是素数");
return true;
}
public static void main(String[] args) {
if(isPrime(16)){ //类似于C语言里面的链表
System.out.println("是素数");
}else{
System.out.println("不是素数");
}
}
3.打印1-100之间所有的素数
public static boolean isPrime2(int num){
for(int i=2;i<=Math.sqrt(num);i++){
if(num%i==0){
return false;
}
}
return true;
}
public static void main(String[] args) {
for(int i=1;i<=100;i++) {
if (isPrime2(i)) {
System.out.println(i+"是素数");
} else {
System.out.println(i+"不是素数");
}
}
}
4.输出1000-2000之间所有的闰年。
public static boolean isLeapYear(int year){
if(year%4==0&&year%100!=0||year%400==0){
return true;
}
return false;
}
public static void main(String[] args) {
for(int year=1000;year<=2000;year++){
if(isLeapYear(year)){
System.out.println(year);
}
}
}
5.输出乘法口诀表
public static void func(){
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
// for(int j=1;j<=9;j++){
System.out.printf(j+"*"+i+"="+j*i+" ");
// System.out.printf(i+"*"+j+"="+i*j+" ");
}
System.out.println( );
}
}
public static void main(String[] args) {
func();
}
6.求两个正整数的最大公约数
//最大公因数,辗转相除法又叫欧几里得算法
public static int func2(int a,int b){
int c=a%b;
while(c!=0){
a=b;
b=c;
c=a%b;
}
return b;
}
public static void main(String[] args) {
System.out.println(func2(18,24));
}
7.求出0至999999之间的所有“水仙花数”并输出。(“水仙花数”是指一个三位数,其各位数字的立方和等于本身,如;153=1^3+5^3+3^3,则153是一个“水仙花数”。本题为水仙花数变种题)
//水仙花数
public static void func3(){
for (int num = 0; num < 999_999; num++) {
//首先判断是几位数
int tmp = num;
int count = 0;//计数器
while(tmp != 0){
count++;
tmp/=10;
}
tmp = num;
//接下来求每一位是几
int sum = 0;
while(tmp != 0){
sum += Math.pow(tmp%10,count);
tmp /= 10;
}
if(sum == num){
System.out.println(num);
}
}
}
public static void main(String[] args) {
func3();
}
8.完成猜数字游戏
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Random random = new Random();//时间戳
int randNum = random.nextInt(100)+1;//因为Java里面的范围区间都是左闭右开
System.out.println("randNum:"+randNum);
while (true){
System.out.println("请输入你要猜的数字:");
int num = scanner.nextInt();
if(num < randNum){
System.out.println("猜小了!!!");
}else if(num==randNum){
System.out.println("猜对了!!!");
break;
}else{
System.out.println("猜大了!!!");
}
}
}