JavaSE 每日一练

83 阅读3分钟

本文已参与[新人创作礼]活动, 一起开启掘金创作之路。

前言

宁愿累死自己,也要卷死室友

image.png

好,本篇中心思想升华完毕,开始刷题

浮点数计算

编写一个应用程序,读取两个浮点数,然后打印输出他们的和、差及乘积。

package stu332_03;

import java.util.Scanner;

// 编写一个应用程序,读取两个浮点数,然后打印输出他们的和、差及乘积。
public class one {
	    public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
		    
            System.out.println("输入两个浮点数,电脑将打印输出他们的和、差及乘积");
            
            double num1 = sc.nextDouble();
            double num2 = sc.nextDouble();
            
            // 和
            System.out.println("和为: "+(num1+num2));
            // 差
            System.out.println("差为: "+(num1-num2));
            // 乘积
            System.out.println("乘积为: "+(num1*num2));
		}
}

时间转换

编写一个应用程序,以用户输入的形式读取小时、分、秒的时间数据,然后全部换算成秒并打印输出结果(例如,1小时28分42秒等于5322秒)。

package stu332_03;

import java.util.Scanner;

// 编写一个应用程序,以用户输入的形式读取小时、分、秒的时间数据,然后全部换算成秒并打印输出结果(例如,1小时28分42秒等于5322秒)。
public class two {
	public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
	    
        System.out.println("输入小时");
        int hour = sc.nextInt();
        
        System.out.println("输入分");
        int minute = sc.nextInt();
        
        System.out.println("输入秒");
        int second = sc.nextInt();
        
        // 全部换算成秒并打印输出结果(例如,1小时28分42秒等于5322秒)
        System.out.println(hour+"小时"+minute+"分"+second+"秒"+" 等于 "+(hour*60*60+minute*60+second)+"秒");
	}
}

金字塔

金字塔是继99乘法表决之后的一个经典图形排列题

题目要求:

要求用户可以自主控制塔身的层数, 完成如下金字体样式;

输入格式:

4

输出格式:

   *
  ***
 *****
*******

输入样例:

在这里给出一组输入。例如:

5
8

输出样例:

在这里给出相应的输出。例如:

    *
   ***
  *****
 *******
*********


       *
      ***
     *****
    *******
   *********
  ***********
 *************
***************

实现代码:


import java.util.Scanner;

public class Main {

    public static void main (String[] args) {
        
        // 循环 程序主体。此处中间需有两空
        Scanner sc = new Scanner(System.in);
        int tower = 0;
        // for (int times =  0; times < 2; times++) {
            // 扫描器获取塔高
            tower = sc.nextInt();

            /*
            思考:
            4+(1)+4
            3+(3)+3
            2+(5)+2
            1+(7)+1
              (9)
            */

            // 外循环:塔高
            for (int i = 0; i < tower; i++) {
                // 打印空格
                for (int k = i+1; k < tower ; k++) {
                    System.out.print(" ");
                }
                // 打印小星星 1、3、5、7、9
                for (int j = 0; j < ( (i+1)*2-1 ); j++) {
                    System.out.print("*");
                }
                System.out.println("");
            }
            
            // 空格分隔
           // if (times == 0) {
                //System.out.println("");
               // System.out.println("");
            //}
        }
    }

判断合法标识符

输入若干行字符串,判断每行字符串是否可以作为JAVA语法的合法标识符。

判断合法标识符的规则:由字母、数字、下划线“_”、美元符号“$”组成,并且首字母不能是数字。

输入格式:

 输入有多行。

每行一个字符串,字符串长度不超过10个字符。

输出格式:

若该行字符串可以作为JAVA标识符,则输出“true”;否则,输出“false”。

输入样例:

abc
_test
$test
a 1
a+b+c
ab
123
变量

输出样例:

true
true
true
false
false
false
false
true

实现代码:

import java.util.Scanner;

public class Main {
    public static  void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        int flag = 1;

        // 直接干翻 PTA最终的检查 一步到位
        while (sc.hasNext()) {
            String temp = sc.nextLine();
            char[] tempArr = temp.toCharArray();

            flag = 1;
            // 逐个检查内容是否合法
            for ( int j = 0; j < tempArr.length; j++) {
                if (Character.isJavaIdentifierPart(tempArr[j])) {
//                    flag = 1;
                }
                else {
                    flag = 0;
                    break;
                }
            }

            // 检查首字符是否合法
            if ( flag == 1) {
                if (Character.isJavaIdentifierStart(tempArr[0])) {
                    System.out.println("true");
                }else  {
                    System.out.println("false");
                }
            } else  {
                System.out.println("false");
            }
        }
        sc.close();
    }
}