当前位置: 首页 > news >正文

9.27(课后作业

package com.itheima.arithmeticoperstor;

public class Enum {
//枚举
enum Size{SMALL,MEDIUM,LARGE};
//直接引用枚举值
Size s=Size.SMALL;
//通过字符串获取枚举值
Size t=Size.valueOf("SMALL");
//定义私有枚举类型并包含三个枚举常量
private enum MyEnum{
ONE,TWO,THREE
}
public static void main(String[] args) {
//循环遍历MyEnum枚举类型
//values() 是Java编译器为每个枚举类型自动生成的方法
//无需手动定义,所有枚举类型都自动拥有此方法
//常用于遍历枚举的所有可能值
for(MyEnum value:MyEnum.values()){
System.out.println(value);
}

}

}
枚举可以通过直接赋值和引用字符串来赋值

结论:
枚举类型是引用类型,对于枚举类型来说“==”和equals()的结果是等价的
package com.itheima.arithmeticoperstor;

public class TestDouble {
public static void main(String[] args) {
System.out.println("0.05+0.01="+(0.05+0.01));
System.out.println("1.0-0.42="+(1.0-0.42));
System.out.println("4.015100="+(4.015100));
System.out.println("123.3/100="+(123.3/100));
}
}

Double 类型的数值进行计算,其结果都是不精确的
核心矛盾:多数十进制小数无法转成有限位二进制小数
我们习惯的十进制小数(如 0.1、0.2),在转换为二进制小数时,会变成无限循环的二进制序列—— 而 Double 的尾数位只有 52 位,无法存储无限循环的二进制,只能通过 “舍入” 保留前 52 位有效数字,这就导致了存储时的精度丢失。
举个最经典的例子:0.1 的二进制表示十进制 0.1 转换为二进制时,结果是 0.00011001100110011...(“0011” 无限循环)。由于 Double 尾数位只能存 52 位,最终存储的是这个无限序列的 “近似值”(舍入后的 52 位二进制),对应的十进制值约为 0.10000000000000000555...—— 从存储的那一刻起,0.1 就已经不是 “精确的 0.1” 了。
同理:
0.2 的二进制是 0.001100110011...(无限循环),存储后也是近似值;
0.3、0.4、0.6、0.7 等绝大多数十进制小数,都存在类似问题。
package com.itheima.arithmeticoperstor;

public class TestDouble {
public static void main(String[] args) {
int X=100;
int Y=200;
System.out.println("X+Y="+X+Y);
System.out.println(X+Y+"=X+Y");

}

}
第一个开头为字符串,后面+的也都会是字符串,从左到右依次执行
第二个开头不是字符串,就是x+y,得到300后与后面字符串结合

注意String是一个类,不是基础语法类型

字符串转为浮点数
number1 = Double.parseDouble( firstNumber );
number2 = Double.parseDouble( secondNumber );

package com.itheima.arithmeticoperstor;

import java.util.Random;
import java.util.Scanner;

public class calculate {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
Random r=new Random();
int a=r.nextInt(100)+1;
int b=r.nextInt(100)+1;
char[]operator={'+','-','','/'};
char c=operator[r.nextInt(4)];
System.out.println(a+" "+c+" "+b);
int result=0;
switch(c)
{
case '+':
result=a+b;
break;
case '-':
result=a-b;
break;
case '
':
result=a*b;
break;
case '/':
result=a/b;
break;
}
System.out.println(result);
}
}

package com.itheima.arithmeticoperstor;

import java.util.Random;
import java.util.Scanner;

public class calculate {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
Random r=new Random();
String characters="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
System.out.println("请输入验证码:");
StringBuilder code=new StringBuilder();
for(int i=0;i<6;i++)
{
int x= r.nextInt(characters.length());
code.append(characters.charAt(x));
}
String codeString=code.toString();
System.out.println(codeString);
}
}
//验证码
package com.itheima.arithmeticoperstor;

import java.util.Random;
import java.util.Scanner;

public class calculate {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
Random r=new Random();
String characters="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
System.out.println("请输入验证码:");
StringBuilder code=new StringBuilder();
for(int i=0;i<6;i++)
{
int x= r.nextInt(characters.length());
code.append(characters.charAt(x));
}
String codeString=code.toString();
System.out.println(codeString);
}
}

http://www.hskmm.com/?act=detail&tid=19299

相关文章:

  • 详细介绍:【序列晋升】45 Spring Data Elasticsearch 实战:3 个核心方案破解索引管理与复杂查询痛点,告别低效开发
  • 详细介绍:python+django/flask+uniapp基于微信小程序的瑜伽体验课预约系统
  • 生成算数问题*30
  • 6379:统计学生信息(使用动态链表完成)
  • 详细介绍:云原生 vs 传统部署
  • 单链表
  • 课后作业1-3
  • GNSS精度判断和协方差矩阵 - MKT
  • Insightly模板页面存储型XSS漏洞分析与复现
  • 记录 | 关于陪伴型交互AI的一些探讨
  • 课后作业
  • luogu P1719 最大加权矩形
  • CF2065D Skibidus and Sigma
  • 微信二次开发个人号api
  • 课后作业2(动手动脑,课后实验性问题)
  • 从零开始构建图注意力网络:GAT算法原理与数值实现详解
  • 关于Leetcode 812题的简单思考
  • Laravel5.8 利用 snappyPDF 生成PDF文件
  • 25秋周总结4
  • Python 潮流周刊#121:工程师如何做出高效决策?
  • 饥荒联机版
  • iSCSI网络存储——基于VM17下麒麟V10SP1与SP2的共享配置
  • 微信二次开发文档
  • CSP-S1 2025
  • 金币
  • 课后作业2
  • 加密货币技术革命:揭秘数字复兴时代
  • 详细介绍:CTFshow系列——PHP特性Web113-115(123)
  • 第六篇
  • 6378:删除数组中的元素(链表)