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 ...
随机推荐
- yolo3 车辆检测
1. 使用原在imagenet上训练好的weights用于特征提取 darknet53.conv.74 可从yolo官网下载 2. 车辆检测数据集及其label制作 a. voc car类包含1161 ...
- 【AMAD】import-string -- 通过字符串来import一个对象
动机 简介 用法 个人评分 动机 一些情况下,你不能直接使用from ... import ...来引用对象. 比如在循环引用的情况下. 比如在一些settings文件配置中. 这时候需要另一种办法. ...
- Leetcode之动态规划(DP)专题-64. 最小路径和(Minimum Path Sum)
Leetcode之动态规划(DP)专题-64. 最小路径和(Minimum Path Sum) 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小. ...
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
1.nginx 配置模板 server { listen ; client_max_body_size 512M; proxy_set_header Connection ""; ...
- 切换windows系统输入法的中英文,可以忽视是哪种打字法
调用windows的API //用户获取当前输入法句柄 [DllImport("imm32.dll")] public static extern IntPtr ImmGetCon ...
- java初学者编译简单的计算机
package com.yj.test; import java.awt.BorderLayout; import java.awt.Font; import java.awt.GridLayout; ...
- CMMI将能力成熟度分为5个级别
CMMI将能力成熟度分为5个级别(初始级,已管理级,已定义级,量化管理级,优化级) . 初始级 此时软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力.管理是反应式的. .可管 ...
- sql server 查询某段日期某段时间内的数据
如我要取8月1号到8月30号之间的早上7点半到晚上八点半这段时间内的数据. SELECT * FROM tableName AS tWHERE t.create_date BETWEEN '2017- ...
- JavaScript中好用的对象数组去重
对象数组去重 Demo数据如下: var items= [{ "specItems": [{ "id": "966480614728069122&qu ...
- # 丢包&&掉帧&&文件删除
丢包&&掉帧&&文件删除 丢包:指一个或多个数据包(packet)的数据无法透过网络到达目的地,丢失一些信息 掉帧:帧数就是在1秒钟时间里传输的图片的量,每一帧都是静止 ...