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 ...
随机推荐
- FTP简单搭建(一)
一.FTP服务介绍 vsftp(very security ftp file transfer protocol 非常文件传输协议) FTP分为主动模式和被动模式. 主动模式:(不安全,传数据的端口是 ...
- DNS_主从搭建
一.DNS简介 1.DNS DNS是域名系统(Domain Name System)的简称,它是一个将域名和IP相互映射的分布式数据库.有了DNS服务器,我们只需要记录一个网站的域名即可访问,而再也不 ...
- PHP Excel导入
public function importFile() { $file = request()->file('file'); $params = $this->request->p ...
- Oracle-DML- insert & update & delete
说明:语句中说到的“表”,以及表中有哪些“列”自行脑补......重要的是理解概率,能看懂语句代表的含义就OK~ DML-数据操作语句: 1. insert 新增 /*insert into 表名va ...
- Maven添加镜像仓库、更改本地仓库位置
添加镜像仓库 在conf目录下的settings.xml文件的145行左右 id表示该镜像的id mirrorOf表示为哪个仓库配置镜像,central为默认的中央仓库的id,也可以使用通配符*,来匹 ...
- JAVA基础--JAVA API集合框架(其他集合类,集合原理)
一.ArrayList介绍 1.ArrayList介绍 ArrayList它是List接口的真正的实现类.也是我们开发中真正需要使用集合容器对象. ArrayList类,它是List接口的实现.肯定拥 ...
- P1816忠诚
这是一个区间查询最值的问题,用线段树来做. 建树的时候,这里不是求和,应该是e[k].w=min(e[k*2].w,e[k*2+1].w),所以这里要注意以下,其次是查询的时候,因为本题不用让我们修改 ...
- python基础数据类型和初级应用
1.整数: int -- 计算和比较 2 -- 10 推位 8421 20 21 -- 2**7 10 - 2 bit_length 二进制的有效占用位数 # 123 # 计算和比较 # 14 0 # ...
- python网络爬虫(4)结构与基本概念
基本模型 请求与响应 import urllib.request as urllib2 request=urllib2.Request('http://www.zhihu.com') response ...
- Ubuntu分区挂载
创建主分区: 25G 主分区 空间起始位置 Ext4日志文件系统 / (ps:安装主要放这了,原因不明) 创建swap分区: 8192MB 逻辑分区 空间起 ...