练习1:世界最高峰是珠穆朗玛峰(8844.43m=8844430毫米),假如有一张足够大的纸,它的厚度是0.1毫米,请问折叠多少次可以叠成珠穆朗玛峰的高度
public class HelloWorld {
public static void main(String[] args) {
int height = 8844430;
//int h = 0;
double h=0.1;
int count = 0;
while(h<height){
h *= 2;
count++;
}
System.out.println(count);
}
}
练习2:回文数
给你一个整数x,判断x是否是一个回文数,是打印true,否则打印false
(回文数是指正序和倒序读都是一样的整数)
import java.util.Scanner;
// 核心思路:把原来的数字倒置,并与原数字比较
public class HelloWorld {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
int x = sc.nextInt();
int num = 0; // 记录拼接后的数字
int tem = x; // 记录变化后的数字
// 利用循环从右至左获取每一位数字
while(tem != 0){
int ge = tem % 10;
tem = tem / 10;
num = num *10 + ge ;
}
System.out.println(num);
System.out.println(x==num);
}
}
练习3:求商和余数
给定两个整数,被除数和除数(都是正数,且不超过int的范围)。将两数相除,要求不使用乘法、除法和%运算符,得到商和余数
import java.util.Scanner;
// 核心思路:把原来的数字倒置,并与原数字比较
public class HelloWorld {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
int x = sc.nextInt(); // 被除数
int y = sc.nextInt(); // 除数
// 用循环进行x-y的操作,直至x-y的结果小于y,
// 进行减运算的次数即为商,余下的小于y的数即为余数
int num = 0; // 记录x-y的次数
int re = x; // 记录减运算的结果
while(re >= y){
re = re - y;
num++;
}
System.out.println("商是"+num);
System.out.println("余数是"+re);
}
}
练习4:逢7过
使用程序在控制台打印出1-100之间,包含7或者是7的倍数的数据
public class HelloWorld {
public static void main(String[] args) {
for (int i = 0; i < 100; i++) {
// 寻找是7的倍数的数字:i%7==0
// 寻找含有7的数字 1)十位数是7 i/10 ==7
// 2)个位数是7 i%10 ==7
if(i%7 != 0&&i/10 != 7 && i%10 !=7){
continue;
}
System.out.println(i);
}
}
}
练习5:求平方根
键盘录入一个大于等于2的整数x,计算并返回x的平方根,结果只保留整数部分
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
//用i^2与值比较
Scanner sc =new Scanner(System.in);
int x =sc.nextInt();
int i=0;
while(i*i <= x){
i++;
}
System.out.println(i-1);
}
// 方法2
for (int q = 0; q <=number; q++) { // 注意这里对i的取值的判断
if(i*i==number){
System.out.println(i);
break; // 一旦找到该值,就退出循环
} else if (i*i > number){
System.out.println(i-1);
break; // 一旦找到该值,就退出循环
}
}
}
练习6:求质数
键盘录入一个正整数x,判断该数是否为质数
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
// 用x除以i,如果都除不尽则为质数
Scanner sc =new Scanner(System.in);
int x =sc.nextInt();
for (int i = 2; i <= x; i++) {
if(i == x){
System.out.println("是质数");
break;
}
if(x % i == 0){
System.out.println("不是质数");
break;
}
}
}
}
练习7:程序自动生成一个1~100之间的随机数,使用程序实现猜出这个数是多少
import java.util.Random;
public class HelloWorld {
public static void main(String[] args) {
// 获取一个随机数,范围为1~100
Random r =new Random();
int x = r.nextInt(100)+1;
// 猜测随机数:遍历
for (int i = 0; i <= 100; i++) {
if (i == x){
System.out.println(i);
break;
}
}
}
}