【第五章】Java API-常用类库(下)

目录

1.什么叫控制台?

1.1 Scanner类

1.2 交互尝试:模拟用户登录逻辑

 2.随机数Random类

2.1 使用Random可以生成随机数

2.2 Random类:编程尝试

3.Math类

3.1 常用方法

3.2 代码示例

3.3 Math类——动手尝试

4 字符

4.1 字符Character

4.2 字符编码

4.3 字符与字符串


1.什么叫控制台?

控制台 Console

在上个世纪,在图形界面出现之前的、一种基于文字的用户交互界面

例如,windows仍保留了最古老的命令行界面(DOS)。。展示。

为什么要控制台这么古老的东西?

1 控制台在将来的正式开发中(公司里)不会用到

2 仅用于语法练习,模拟用户交互。

注:我们现在的重点不是界面是否好看

重点是语法、逻辑

1.1 Scanner

可以从各种输入源读取数据,包括控制台输入。

它可以解析基本类型和字符串的输入数据

使用方法:

  Scanner scanner = new Scanner(System.in);

  String input = scanner.nextLine();

  int number = scanner.nextInt();

1.2 交互尝试:模拟用户登录逻辑

编写一个 Java 程序,模拟一个简单的登录界面。
程序首先向用户显示一个提示,要求用户输入用户名和密码。
然后,程序将输入的用户名和密码与预设的正确用户名和密码进行比较。
如果用户名和密码都正确,则打印一条欢迎消息;否则,打印一条错误消息并允许用户重试,最多重试 3 次。
如果 3 次都失败,则显示登录失败的消息。
输入说明

用户将被提示输入用户名和密码。

用户有3次输入尝试的机会.

•输出说明

    如果用户名和密码正确,打印:“登录成功!欢迎,[用户名]!”

    如果用户名或密码错误,打印:“用户名或密码错误,请重试。”

    如果用户3次尝试都失败,打印:“登录失败,已达到最大尝试次数。”

实现提示

使用Scanner类从控制台读取输入。

设定一个正确的用户名和密码,用于登录验证。

使用循环实现最多3次的输入尝试。

使用条件语句判断用户输入是否正确

 2.随机数Random

随机数在工程应用里时有用到。

例如,

  牌类游戏:洗牌,每次开始游戏之前要把54张牌的顺序随机打乱。

又例如,

  抽签功能:从若干个样本中投取几个样本。

  (抽奖、摇号、抽签)

Random类是JDK里自带的基本类。

java.util.Random

2.1 使用Random可以生成随机数

  Random rand = new Random();

  int s = rand.nextInt(1000);

其中,nextInt(1000)表示生成一个0~1000的随机数

生成30~1000的随机数。

  Random rand = new Random(); 

  for(int i=0; i< 3; i++)

  {

  int s = rand.nextInt(1000);

  System.out.println("生成随机数: " + s);

  }

可以发现,每次生成的数是没有规律的(随机的)。

2.2 Random类:编程尝试

题目描述:某公司举办年会,共有96名员工参加。现在需要编写一个Java程序模拟抽取特等奖的过程。特等奖只有1名,需要从所有参加年会的员工中随机抽取。

实现提示:

使用 java.util.Random 类来生成随机数。
假定员工编号从 1 96 ,使用随机数来代表被抽中的员工编号。
特等奖的中奖编号需要是 1 96 之间的随机数。

3.Math

3.1 常用方法

Java 语言里,Math 类提供了一系列进行基本数学运算的静态方法,包括指数、对数、平方根以及三角函数等。这个类位于java.lang包下,因此在使用时不需要导入任何外部包。

abs :返回参数的绝对值。
ceil :返回大于或等于参数的最小double值,等于一个整数。
floor :返回小于或等于参数的最大double值,等于一个整数。
round :最接近参数的 long int
min :返回两个参数中的较小值。
max :返回两个参数中的较大值。
pow :返回第一个参数的第二个参数次幂的值。
sqrt :返回参数的平方根。
exp :返回欧拉数 e 的参数次幂的值。
sin cos tan :分别返回参数的正弦、余弦、正切值。

3.2 代码示例

public class MathDemo {
    public static void main(String[] args) {
        // 计算两个数的最大值
        System.out.println("Max of 5 and 10: " + Math.max(5, 10));
        // 计算平方根
        System.out.println("Square root of 16: " + Math.sqrt(16));
        // 计算一个数的次方
        System.out.println("2 to the power of 3: " + Math.pow(2, 3));
           
        // 生成一个随机数
        System.out.println("A random number: " + Math.random());
    }
}


3.3 Math——动手尝试

题目描述:编写一个Java程序,要求用户输入一个圆的半径,然后计算并打印出这个圆的周长和面积。

输入说明

   用户输入一个非负实数,表示圆的半径。

输出说明

  首行输出圆的周长,保留两位小数。

  第二行输出圆的面积,同样保留两位小数。

实现提示

  使用Scanner类从控制台读取用户输入。

  使用Math.PI获取圆周率π的值。

  计算圆的周长公式为:2 * π * r,其中r是圆的半径。

  计算圆的面积公式为:π * r^2

  使用String.format()System.out.printf()来保留两位小数。

4 字符

4.1 字符Character

字符 Character ,代表一个文字或符号

Java 语言里,用char类型表示字符

例如,

char  c1 = 'A';

char  c2 = '9';

char  c3 = '';

... 中文、日文、韩文、希腊文、... 人类的所有文字和符号

字符变量的写法:

(1) 只能表示一个字符

(2) 用英文单引号括号来

4.2 字符编码

每个字符都对应一个数字,称为字符编码例如,

  char c = 'A';

  int n = c;

  System.out.println("编码为: " + n);

常见的有: 'A'65  , 'B'66 ...  'a'97,  'b'98...

'0' 48, '1' 49 ... ' '32(空格) ..

地球上所有的文字和符号都有一个编码(Unicode)

例如,

  char c = '邵';

  int n = c;

  System.out.println("编码为: " + n);

其中,把 0-128 之间的称为 ASCII ( 仅英文、数字、英文标点符号等) , 对应键盘上的按键。

思考:

  int n = 'C' - 'A'; // 值为多少?

  int k = '2' - '0';   // 值为多少?

4.3 字符与字符串

字符串,就是一串字符

- 转换 String => char

  String str = "afanihao阿发你好";

  char ch = str.charAt(8); // 下标从0开始计数

  char[] chs = str.toCharArray();

- 转换 char => String

  char[] chs = {'阿', '发', '你', '好'};

  String str = new String(chs, 1,3);

  str += '的';

在字符串字符中查找字符

例如,

  String str = "afanihao阿发你好";

  int p = str.indexOf('发');

  System.out.println("位置: " + p);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值