Java——控制流

Scanner

  • next();

    • 一定要读到有效字符后才可以结束输入
    • 对输入有效字符之前遇到的空白,next(); 方法会自动将其去掉
    • 只有输入有效字符后才能将其后面输入的空白作为分隔符或者结束符
    • next() 不能得到带有空格的字符串;
  • nextLine();

    • 以Enter为结束符,也就是说 nextLine() 方法返回的是输入回撤之前的所有字符
    • 可以获得空白
  • next+数据类型();

    • 可用与限制输入类型
    • nextInt()
    • nextFloat
    • ........

Scanner小结

package com.java.flow.Scanner;

import java.util.Scanner;

public class Demo05 {
    public static void main(String[] args) {
        double i = 0;
        int count = 0;
        System.out.println("请输入要相加的数:");
        Scanner scanner = new Scanner(System.in);
        //输入多个数字,求其总和与平均数,每输入一个数字用回车确认,通过输入非法数字来结束输入并输出执行结果
        while (scanner.hasNextDouble()){
            if (scanner.hasNextDouble()){
                i+=scanner.nextDouble();
                count++;
            }
            else {
                break;
            }
        }
        System.out.println("总和为:" + i + " 平均数为:" + i/(double)count);

        scanner.close();
    }
}

控制流——逃课

package com.java.flow.Scanner;

import java.util.Scanner;

public class delta {
    //我觉得我行
    public static void main(String[] args) {
        int n;
        System.out.println("请输入金字塔的层数:");
        Scanner scanner = new Scanner(System.in);
        if (scanner.hasNextInt()){
            n = scanner.nextInt();
            for (int i=1;i<=n;i++){
                for (int k=0;k<n-i;k++){
                    System.out.print(" ");
                }
                for (int j=1;j<2*i-1;j++){
                    if (j>1&&j<2*i-1&&i<n){
                        System.out.print(" ");
                    }else {
                        System.out.print("*");
                    }

                }
                System.out.println("*");
            }
            //我确实行👍
        }
        scanner.close();
    }
}
//输入:
5
//输出:
    *
   * *
  *   *
 *     *
*********
posted @ 2026-01-12 03:17  yorkchain  阅读(0)  评论(0)    收藏  举报