7.23Java入门--->第四节

1、循环结构(for,while,do  while)

练习一:输出等腰三角形

public static void main(String[] args) {
        int max = 5;
        for(int i = 1; i<=5 ; i++) {
            for (int j = 1; j <= max - i; j++){
                System.out.print(" ");}
            for (int k = 1; k <= i * 2 - 1; k++){
                System.out.print("*");}
            System.out.println();
        }
    }
输出结果:
    *
   ***
  *****
 *******
*********

练习二:输出等边三角形

public static void main(String[] args) {
        int max = 5;
        for(int i = 0; i<=5 ; i++) {
            for (int j = 0; j <= max - i; j++){
                System.out.print(" ");}
            for (int k = 0; k <= i - 1; k++){
                System.out.print("* ");}
            System.out.println();
        }
    }
输出结果:
     * 
    * * 
   * * * 
  * * * * 
 * * * * * 

练习三:99乘法表

for (int i=1;i<10;i++){
            for (int j=1;j<=i;j++){
                System.out.print(i+"*"+j+"="+i*j+" ");
            }
            System.out.println();
结果:
1*1=1 
2*1=2 2*2=4 
3*1=3 3*2=6 3*3=9 
4*1=4 4*2=8 4*3=12 4*4=16 
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 

练习四:计算100以内奇数和

public class Test004 {
    public static void main(String[] args) {
        int sum=0;
        for (int i=1;i<=100;i++){
            if(i%2!=0){
                sum+=i;
            }
        }
        System.out.println(sum);
    }
}
输出结果:
2500

练习五:输出空心菱形

public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("输入行数:");
int lay = scanner.nextInt();
for (int i = 0; i <= lay; i++) { //控制上半个菱形行数
for (int j = 0; j < lay-i; j++) { //输出空格
System.out.print(" ");
}
for (int k = 1; k <=2*i-1 ; k++) { //挨着空格直接输出一个*,另一个在最后
if (k==1||k==2*i-1){
System.out.print("*");
}else{
System.out.print(" "); //其他全是空格
}
}
System.out.println();
}
for (int i = 1; i <=lay-1; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= 2*(lay-i)-1; k++) {
if (k==1||k==2*(lay-i)-1){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println();
}
}
输出结果:
   *   
  * *  
 *   * 
*     *
 *   * 
  * *  
   *   

思考:Java代码都符合固定的逻辑,有些时候需要思考

例如:

 

2、while(布尔值){

  循环体

}

 do……while 循环

do{

  循环体

}while();

do……while 先执行循环体,再去判断

练习1-100 7的倍数

 public static void main(String[] args) {
    int i=0;
    int sum=0;
    int num=0;
    while(i<=100){
        if (i%7==0&&i!=0){
            sum+=i;
            num++;
        }
        i++;
    }
        System.out.println(num+"个");
        System.out.println("和:"+sum);

}
运行结果:
14个
和:735

思考:0 的问题 必考虑

剑指offer第一章说到的0的问题,×、÷、% 都要考虑0的问题

 

break:用于终止某个语句块的执行(当前语句块)

     也可以添加标签,跳出标签语句块(垃圾不要用)

continue:跳过当前语句,不影响其他条件的执行。

     也可以添加标签,影响外层逻辑(垃圾不要用)

return:终极结束语句,方法直接结束。

练习

程序开始运行输出到控制台:
************提示****************
输入0:开户
输入1:查询
输入2:存款
输入3:取款
输入4:退出
********************************


如果用户输入的不是1-4之间的数提示:您选择的菜单不存在,请重新选择:

程序开始运行输出到控制台:
************提示****************
输入0:开户
输入1:查询
输入2:存款
输入3:取款
输入4:退出
********************************

当用户输入0时。则进入开户功能:系统提示:
********************************
您选择的是开户功能
请输入您的姓名:
此时用户需要输入姓名,输入完毕后系统提示:
请输入您的身份证号:
此时用户需要输入身份证号,输入完毕验证是否为18位身份证,如果未通过验证,提示重新输入身份证
直到通过验证为止。
通过验证后输入密码:
此时用户需要输入6位纯数字密码,输入完成后提示:
开户成功  谢谢使用,从新回到
************提示****************
输入0:开户
输入1:查询
输入2:存款
输入3:取款
输入4:退出
********************************
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("************提示***********");
System.out.println("输入0:开户");
System.out.println("输入1:查询");
System.out.println("输入2:存款");
System.out.println("输入3:取款");
System.out.println("输入4:退出");
System.out.println("**************************");
while(true){
System.out.println("请输入序号");
int i=scanner.nextInt();
if (i==0){
System.out.println("您选择的是开户");
account();
continue;
}
if (i==1){
System.out.println("查询");
}
if (i==2){
System.out.println("存款");
break;
}
if (i==3){
System.out.println("取款");
break;
}
if (i==4){
System.out.println("退出");
return;
}
if (i!=1&&i!=2&&i!=3&&i!=4){
System.out.println("输入错误重新输入");
continue;
}
}
}
public static void account(){
Scanner scanner=new Scanner(System.in);
String name;
String num;
int password;
System.out.println("请输入您的姓名:");
name=scanner.next();
System.out.println("请输入您的身份证号:");
num=scanner.next();
int i=num.length();
if (i!=18){
System.out.println("身份证号输入错误,返回上一级");
return;
}
System.out.println("请输入您的密码:(密码为6为纯数字)");
password=scanner.nextInt();
String s=password+"";
int test=s.length();
if (test!=6){
System.out.println("密码输入错误,返回上一级");
return;
}
System.out.println("jiji开户成功");
}

水仙花数

int i=100;
        int bai=0,shi=0,ge=0;
        while(i<=999){
            bai=i/100;
            shi=(i/10)%10;
            ge=i%10;
            if ((bai*bai*bai+shi*shi*shi+ge*ge*ge)==i){
                System.out.println(i);
            }
            i++;

        }

 

posted @ 2020-07-23 16:15  Spring_Xian  阅读(169)  评论(0编辑  收藏  举报