练习1:逢7过
//包含7,指的是数字中有7
public class test {
public static void main(String[] args) {
int temp=0;
int temp2=0;
for (int i = 1; i <= 100; i++) {//得到1~100之间的每一个数字
if (i % 7 == 0) {//7的倍数
System.out.println(i + "过");
} else {//判断数字中是否包含7
temp = i;
while (temp != 0) {
temp2 = temp % 10;//取数字
if (temp2 == 7) {
System.out.println(i + "过");
break;
}
temp = temp / 10;
}
}
}
}
}
练习2:求平方根
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int num=sc.nextInt();
int result=0;
for(int i=0;i<num;i++ ){//平方根的粗略范围是0~num
if(num==i*i){//相等,那么当前数i就是平方根
System.out.println(i);
break;//一旦找到了,循环就可以停止了,后面的数字不需要再找了,提高代码的运行效率
}
else if((i*i)>num){//如果大于,那么前一个数字就是平方根的整数部分
System.out.println(i-1);
break;
}
}
}
}
练习3:求质数
最初写的
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
int x=sc.nextInt();
int num=0;
if(x==1){
System.out.println("不是质数");
}
for(int i=2;i<x;i++){
if(x%i==0){
System.out.println("不是质数");
break;
}
else if(i==x-1){
System.out.println("是质数");
}
}
}
}
优化后的
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
int x=sc.nextInt();
boolean flag=true;
if(x==1){
System.out.println("1既不是质数也不是合数");
}
/*简化思路:
* 81
* 以81的平方根9,为中心,假设a*b=81
* 那么a和b中,其中有一个必定小于等于9的,另一个是大于等于9的
* 所以判断质数时,循环次数最少为x的平方根*/
for(int i=2;i<=Math.sqrt(x);i++){
if(x%i==0){
flag=false;
break;
}
}
if(flag==false){
System.out.println("不是质数");
}
else{
System.out.println("是质数");
}
}
}
练习4:猜数字小游戏
import java.util.Random;//1、导包
import java.util.Scanner;
public class test {
public static void main(String[] args) {
//2、创建对象
Random rd=new Random();//随机数包类似于scanner
//3、生成随机数
//判断技巧:在小括号中,书写的是生成随机数的范围,这个范围一定是从0开始的,到这个数-1结束
//口诀:包头不包尾,包左不包右
//int num=rd.nextInt(100);//限制范围是0~99
int num=rd.nextInt(100)+1;//在末尾+1可以实现范围1-100;
while(true) {
System.out.println("请输入你要猜的数字");
Scanner sc =new Scanner(System.in);
int x=sc.nextInt();
if (x < num) {
System.out.println("猜小了");
} else if (x > num) {
System.out.println("猜大了");
} else {
System.out.println("猜对了");
break;
}
}
}
}