JAVA学习第二周课后作业
类由数据成员和函数成员组成。
变量之间可以相互转换。
String是一个类。
static是静态、全局的意思。
经过测试,Java的枚举类型定义的Size与String一样都不是Java的原有数据类型
适当的修改测试的原程序代码:
package shangke.dierzhou;
Size s=Size.SMALL;
Size t=Size.LARGE;
//s和t引用同一个对象?
System.out.println(s==t); //
//是原始数据类型吗?
System.out.println(s.getClass().isPrimitive());
//从字符串中转换
Size u=Size.valueOf("SMALL");
System.out.println(s==u); //true
//列出它的所有值
String name="name";
System.out.println(name.getClass().isPrimitive());
int sss=1;
System.out.println();
System.out.println();
int i=0;
System.out.println();
for(Size value:Size.values()){
System.out.println(value);
i++;
}
System.out.println(i);
}
enum Size{SMALL,MEDIUM,LARGE};
测试结果是:
false
false
true
false
SMALL
MEDIUM
LARGE
这个测试结果证明了String和枚举定义的类型一样都不是原有数据类型。
基本的枚举类型使用方法一样掌握。
package shangke.dierzhou;
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.015 * 100 = " + (4.015 * 100));
System.out.println("123.3 / 100 = " + (123.3 / 100));
}
}
这个测试让我很惊醒,正如老师所讲的在与数字打交道时要谨慎谨慎再谨慎。
double类型在精度问题上是因为在机器语言中该数据超出了double类型的位数,采取高位截断的方式导致了结果的精度差。
package text;
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=100200
300X+Y
出现这种结果是因为第一个输出双引号在前所以就直接相当于字符串连接后面的“+”号相当于字符号连接符并没有进行加法
而第二个是先进行加法在遇到双引号之后才将第二个“+”当做字符串连接符号。
package shangke.dierzhou;
import java.util.Scanner;
public static void main(String[] args) {
int a1=0,a2=0;
int flag=0;
int flag1=1;
int flag2=1;
int flag3=1;
int flag4=1;
int k1=0,k2=0,k3=0,k4=0;
int s1[][]=new int[10000][2];
int s2[][]=new int[10000][2];
int s3[][]=new int[10000][2];
int s4[][]=new int[10000][2];
int n,m;
Scanner in=new Scanner(System.in);
System.out.println("请输入需要多少个题");
n=in.nextInt();
System.out.println("请输入一行几个题");
m=in.nextInt();
for(int i=1;i<=n;)
{
Random b=new Random();
Random c=new Random();
a1=b.nextInt(100);
a2=c.nextInt(100);
if(a1%4==0)
{
flag1=1;
for(int j=0;j<=k1;j++)
{
if(s1[j][0]==a1&&s1[j][1]==a2)flag1=0;
}
if(flag1==1)
{
flag=1;
//System.out.println("这是第"+i+"题");
System.out.print(a1+"+"+a2+"=");
s1[k1][0]=a1;
s1[k1][1]=a2;
k1++;
}
}
if(a1%4==1)
{
flag2=1;
for(int j=0;j<=k2;j++)
{
if(s2[j][0]==a1&&s2[j][1]==a2)flag2=0;
}
if(flag2==1)
{
flag=1;
if(a1>a2)
{
//System.out.println("这是第"+i+"题");
System.out.print(a1+"-"+a2+"=");
s2[k2][0]=a1;
s2[k2][1]=a2;
k2++;
}
else
{
//System.out.println("这是第"+i+"题");
System.out.print(a2+"-"+a1+"=");
s2[k2][0]=a1;
s2[k2][1]=a2;
k2++;
}
}
}
if(a1%4==2&&a1*a2<=100)
{
flag3=1;
for(int j=0;j<=k3;j++)
{
if(s3[j][0]==a1&&s3[j][1]==a2)flag3=0;
}
if(flag3==1)
{
flag=1;
//System.out.println("这是第"+i+"题");
System.out.print(a1+"*"+a2+"=");
s3[k3][0]=a1;
s3[k3][1]=a2;
k3++;
}
}
if(a1%4==3&&a1!=0&&a2!=0)
{
flag4=1;
for(int j=0;j<=k4;j++)
{
if(s4[j][0]==a1&&s4[j][1]==a2)flag4=0;
}
if(flag4==1)
{
if(a1%a2==0)
{
flag=1;
//System.out.println("这是第"+i+"题");
System.out.print(a1+"/"+a2+"=");
s4[k4][0]=a1;
s4[k4][1]=a2;
k4++;
}
if(a2%a1==0)
{
flag=1;
//System.out.println("这是第"+i+"题");
System.out.print(a2+"/"+a1+"=");
s4[k4][0]=a2;
s4[k4][1]=a1;
k4++;
}
}
}
if(flag==1)
{
i++;
flag=0;
System.out.print(" ");
if((i-1)%m==0)
{
System.out.println();
}
}
}
}
这个四则运算可以根据用户要求出题的个数和每行多少道题
JAVA学习第二周课后作业的更多相关文章
- 201671010140. 2016-2017-2 《Java程序设计》java学习第二周
学习第二周(Java基本程序设计结构) 这一周,着重学习了Java的简单程序设计实现及运行,通过自己操作,发现Java的程序语法大面 ...
- Java学习第二周学习笔记
20145307<Java程序设计>第二周学习总结 教材学习内容总结 Java语言中的很多基本语法都和C语言类似,以下Java中的基本语法 标识符 标识符是程序中自定义的一些名称. 由26 ...
- JAVA第三周课后作业
JAVA课后作业 一.枚举类型 代码: enum Size{SMALL,MEDIUM,LARGE}; public cl ass EnumTest { public static void main( ...
- Java学习第二周
这一周观看了黑马程序员毕向东的教学视频学习了数组的创建:数组元素的使用及遍历,类的声明,成员方法的声明,构造器的声明 数据类型[] 数组名 = new 数据类型[长度];数据类型[] 数组名 = {数 ...
- 2019 java学习 第二周总结
新学期,新气象,新老师,不同的语言学习. 我已经荒废了大一,感觉自己在大一根本没学啥,可能是自己太贪玩了,导致自己学的不精,自己对其他的见解很少. 也有自大的原因,导致自己一直浮在水平面,有实力,有耐 ...
- java 第七周课后作业0417
定义一个矩形类Rectangle:(知识点:对象的创建和使用)1 定义三个方法:getArea()求面积.getPer()求周长,showAll()分别在控制台输出长.宽.面积.周长.2 有2个属性: ...
- java第八周课后作业
1.系统小练习 package homework; import java.util.Random; import java.util.Scanner; public class Menu { pub ...
- java第十三周课后作业 0529
1.把多个企鹅的信息添加到集合中查看企鹅的数量及所有企鹅的信息删除集合中部分企鹅的元素判断集合中是否包含指定企鹅 package homework; import java.util.ArrayLis ...
- java 第六周课后作业
1.定义长度位5的整型数组,输入他们的值,用冒泡排序后输出. Scanner sc = new Scanner(System.in); int[] arr = new int[5]; for (int ...
随机推荐
- JS-T
取整函数ceil:向上取整floor:向下取整round:四舍五入 js获取当前页面信息this.location.href JS打印对象 var data = JSON.stringify(res. ...
- 【Linux开发】linux设备驱动归纳总结(三):7.异步通知fasync
linux设备驱动归纳总结(三):7.异步通知fasync xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...
- 非常好的一个JS代码(CJL.0.1.js)
/*! * Cloudgamer JavaScript Library v0.1 * Copyright (c) 2009 cloudgamer * Blog: http://cloudgamer.c ...
- python的变量 以及操作系统
变量 : (变量真没有什么好说的) 变: 就是会变化的 量:衡量现实的事物标准 python 中引用 变量值的作用 操作系统:就计算机控制硬件的软件,定义各个硬件的接口给应用软件调用 应用软件:在操作 ...
- 配置Tomcat时退出就自动还原问题
因为出现中文乱码问题需要配置server.xml文件,可是在每次配置完并且保存的情况下,重启服务器再看server.xml文件时,它自动还原到了未修改前的配置,后,解决如下: 第一步:打开eclips ...
- SpringSecurity 配置
SpringSecurity+JWT https://www.jianshu.com/p/5b9f1f4de88d https://blog.csdn.net/qq_35494808/article/ ...
- Django2.2 会话技术cookie session token的区别以及实例介绍
一.区别: 本人见解:使用自定义数据项进行加密,作为唯一身份识别,登陆时写入cookie(session基于这个).在显示相关数据 1.cookie 属于客户端会话技术(数据存储在客户端) 默认的Co ...
- [转帖]yum命令的使用与createrepo自建仓库教程
yum命令的使用与createrepo自建仓库教程 http://www.linuxe.cn/post-300.html 跟上篇一样 可以学习一下. 发布:TangLu2018-11-23 16:48 ...
- selenium爬虫后上传数据库。
一.准备工作 1.1安装软件 安装python.安装谷歌浏览器.将chromedriver.exe放到指定位置.放到Scripts文件夹中.我这边的路径为:C:\Users\1\AppData\Loc ...
- C++学习 之 继承方式(笔记)
1.继承方式的分类 继承方式有公有继承,私有继承,保护继承.不同之处在于指定派生类的基类时使用的关键字不同:公有继承使用关键字public,私有继承使用关键字private,保护继承使用关键字prot ...