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 ...
随机推荐
- python 爬虫 基于requests模块的get请求
需求:爬取搜狗首页的页面数据 import requests # 1.指定url url = 'https://www.sogou.com/' # 2.发起get请求:get方法会返回请求成功的响应对 ...
- react正常显示html代码、dangerousSetInnerHTML 笔记
const html =`<h1>今天天色很好</h1>` <div dangerouslySetInnerHTML={{__html:html}}></di ...
- python smtplib server not connect
最近发现用smtplib发邮件一直发送不成功,使用debug发现前面都正常,但是DATA发送直接被smtp服务器直接断开.smtp服务器显示body丢失. 后来发现是我加了附件,有指定文件类型: at ...
- 接口测试-免费开放的api
归纳一些不错的免费开放的api 1.Apizza免费开放的Api接口 链接: https://www.jianshu.com/p/e6f072839282 接口文档:https://www.apiop ...
- Momentum Contrast for Unsupervised Visual Representation Learning
Momentum Contrast for Unsupervised Visual Representation Learning 一.Methods Previously Proposed 1. E ...
- idea-代码格式化快捷键设置(2019.1版)
idea默认格式化快捷键是:Ctrl+Alt+L,有时会因其它软件快捷键的冲突导致失灵. 设置方法如下: 1.File --> Settings... 2. Keymap -> Code ...
- 链式栈的C++实现
这是去年的内容,之前放在github的一个被遗忘的reporsity里面,今天看到了就拿出来 #include<iostream> #include<string> using ...
- vscode常用插件列表
vscode插件 备注 Markdown PDF 把markdown文件转换成别的文件 Markdown TOC markdown文件目录生成 PHP Debug PHP调试 PHP Intenlli ...
- java网络编程+通讯协议的理解
参考: http://blog.csdn.net/sunyc1990/article/details/50773014 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很 ...
- Eclipse集成spring-tool-suite(STS)
1.官方下载 sts是spring官方在eclipse基础上加了很多插件之后封装的开发工具.sts与eclipse完全一样,但是多了很多插件,比如maven,使用起来更加方便.如果使用eclipse自 ...