java基础第四天练习题

第10题答案:

package chap4;

import java.util.Scanner;

/*
* 给一个自然数,偶数除以2,奇数则乘以3加1,得到一个新的自然数继续上面步骤计算
* */
public class Work10 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个数");
        int sum= scanner.nextInt();
        while(sum!=1){
            if (sum % 2 == 0) {
                System.out.print(sum);
                sum/=2;
                System.out.println("/"+2+"="+sum);
            }else if (sum%2 !=0){
                System.out.print(sum);
                sum=sum*3+1;
                System.out.println("*"+3+"+"+1+"="+sum);
            }
        }
    }
}

第11题答案:

package chap4;

import java.util.Scanner;

/*
* 已知两个完全平方三位数abc和xyz,其中a,b,c,x,y,z未必是不同的,
* 而ax,by,cz是三个完全平方数,求abc和xyz
* */
public class Work11 {
    public static void main(String[] args) {
        for(int i=100;i<=999;i++){
            for(int j=100;j<=999;j++) {
                if(isSquare(i)  &&  isSquare(j)){
                    int a= i/100;
                    int b= i%100/10;
                    int c= i%10;
                    int x=j/100;
                    int y=j%100/10;
                    int z=j%10;
                    if( isSquare(a*10+x)  &&  isSquare(b*10+y)   &&  isSquare(c*10+z)){
                        System.out.println(i+"--"+j);
                    }
                }
            }
        }
        System.out.println(isSquare(145));
    }




    public static boolean  isSquare(int i){
        double x=Math.sqrt(i);
        if(x%1==0){ //double xiao= x%100-Math.round(x%10);//156%100  56-  156%10 6//(x%1<1 &&x%1>0)
            //System.out.println(i+"是完全平方数");
            return true;
        }
        return false;
    }



}


一、下课期间可以看看下边代码:

1.请测试下边代码是否报错;

public static void main(String[] args){
    int i=5;
    for(int i=1;i<=100;i++){
        System.out.println(i);
    }
    System.out.println(i);
}

2.请测试下边代码是否报错 public static void main(String[] args){

for(int i=1;i<=100;i++){
    System.out.println(i);
}
System.out.println(i);

}

3.请测试下边代码是否报错

public static void main(String[] args){
    boolean isMan=false;
    if(isMan==true){//下括号中可以只写isMan
        int i=5;
        System.out.println("you are a boy");
    }
    System.out.println(i);
​
}

二、数组

数组的默认值:

int[] a=new int[2];//0 double[] d=new double[2];//0.0 float f=new float[2];//0.0f

new boolean[2];//false

String[] s=new String[3];//字符串 null //给字符串数组第0个位置放入字符串数据 s[0]="heello"; //取出字符串数组第0个元素元素进行操作(进行拼接) String rs=s[0] + "zs";

三、下课期间可以自己尝试定义其他类型的数组:

注意获取数组长度可以用数组的length属性: 数组名.length 打印数组长度代码;System.out.println(数组名.length); 1.定义长度为5的String数组并打印最后一个元素 2.定义长度为5的int数组并打印最后一个元素 //数组名[数组名.length-1] 3.定义长度为5的byte数组并打印第0个元素 4.定义长度为5的long数组并打印最后一个元素 5.定义长度为5的float数组并打印最后一个元素

注意:数组定义还可以写成如下格式(定义包含数值的数组as): int[] as={1,2,3};

6.定义一个包含"hello","你好","赛瓦迪卡" 三个元素的数组并打印最后一个元素

四、下课期间可以练习一下数组操作:

1.定义一个长度为5的char数组,里边放入 'a' 'f' 'd' 'h' 'x' 然后取出每个元素后 加 1, 以字符形式打印加一之后的结果

2.用for循环尝试将包含有a={ 1,2,3} 三个元素的数组a 放入 b=[ 9,8,7, , , ]的最后三个空间处

  1. 定义一个byte数组,里边存入 5,9,10,30 求出数组的最小值并打印

五、如何结束/跳过循环: break/continue

//注意:如果循环体中只有一行代码,可以不写大括号 for(int i=1;i<5;i++) System.out.println(i);// 1 2 3 4

System.out.println("AA");//"AA"

 for(int i=1;i5<5;i5++){
         if(i4==3){
            continue;//跳过本次continue之后循环体的代码
         }
         System.out.print(i);//1xx   2xx   3xx不会打印(跳过了)    4xx
         System.out.print("xx");
 }//continue:走路中途碰见障碍, 跳过它,还要继续走

for(int i=1;i<5;i++){
        if(i==3){
            break;//满足条件就结束这个for循环(后边都不执行了)
        }
        System.out.print(i);//执行结果:1xx   2xx  3xx不打印(从这里终止循环的执行了)  4xx不打印 
        System.out.print("xx");
 }
//continue:走路中途碰见一堵墙了只能终止(假设只能前进不能后退也不能掉头)(原本要走到4,结果到3就终止了)

练习: 从1---1000以内跳过10的倍数(把其他数字打印出来):提示用continue可以实现。

猜你喜欢

转载自blog.csdn.net/gulanga5/article/details/123839190