# 《Java技术》第一次作业

(一)学习总结

1.Scanner类数据的使用方法

需要导入java.util.Scanner

每种数据都有对应的输入方法:

需要留意的是String类型,next()方法碰到空格或者回车即结束输入,如果需要输入一整行,包含空格,应该用nextLine();

char 类型,没有输入的方法;

package java练习;
import java.util.Scanner;
public class S1 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner in = new Scanner(System.in);
        int x=in.nextInt();  // 10
        System.out.println(x);   //10
        double y=in.nextDouble();  //2.2
        System.out.println(y);  //2.2
        float z=in.nextFloat();  //1.2
        System.out.println(z);  //1.2
        String a=in.nextLine(); //hello world
        System.out.println(a);  //hello world
        String b=in.next(); //hello world
        System.out.println(b); //hello
    }
}

2.Random类和Math类的random()方法

java.lang.Math,Math.random() 返回带正号的 double 值,该值大于等于 0.0 且小于 1.0;

如果要产生一个在20~100之间的整数应

package java练习;
public class S1 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int x=(int)Math.random()*20+80;
        System.out.println(x); //80
    }
}

如果用Random类,产生一个在20~100之间的整数应

package java练习;
import java.util.Random;
public class S1 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Random rand = new Random();
        int x=rand.nextInt(20)+80;
        System.out.println(x); //93
    }
}

如果产生double类型随机数,则使用nextDouble(x),参数x是产生上限,范围为0~x;

3.改正下列程序

public class Test {
    public static void main(String args[]) {
        double a = 0.1;
        double b = 0.1;
        double c = 0.1;
        if((a + b + c) == 0.3){
            System.out.println("等于0.3");
        }else {
            System.out.println("不等于0.3");
        }
    }
} 

此程序输出结构为“不等于0.3”,原因是浮点数类型在运算时,有极小误差。

修改方法一:使用BigDecimal类

可以使用equals方法和compareTo方法

区别:对于BigDecimal的大小比较,用equals方法的话会不仅会比较值的大小,还会比较两个对象的精确度,而compareTo方法则不会比较精确度,只比较数值的大小。equals的返回值是boolean,而compareTo的返回值为int,相等返回0;

package java练习;
import java.math.BigDecimal;
import java.math.MathContext;
public class S1 {
       public static void main(String args[]) {
           BigDecimal a = new BigDecimal(0.1);
           BigDecimal b = new BigDecimal(0.1);
           BigDecimal c = new BigDecimal(0.1);
            if(a.add(b).add(c).round(new MathContext(1)).equals(new BigDecimal("0.3"))){
                System.out.println("等于0.3");
            }else {
                System.out.println("不等于0.3");
            }
        }

    }

结果:“等于0.3”;

注意:使用round方法确定精度范围,需要用到MathContext类。

在定义new BigDecimal("0.3")时,用String类型构造,若用int类型,看下例:

package java练习;
import java.math.BigDecimal;
import java.math.MathContext;
public class S1 {
       public static void main(String args[]) {
           BigDecimal a = new BigDecimal(0.3);
           BigDecimal b = new BigDecimal("0.3");
           System.out.println(a);
           System.out.println(b);
        }

    }

结果:

修改方法二:

package java练习;
import java.math.BigDecimal;
import java.math.MathContext;
public class S1 {
        public static void main(String args[]) {
            double a = 0.1;
            double b = 0.1;
            double c = 0.1;
            if((a + b + c) -0.3<1e-6){
                System.out.println("等于0.3");
            }else {
                System.out.println("不等于0.3");
            }
        }
    }

(二)实验总结

1.猜数游戏

程序设计思路:

1.生成随机价格

2.输入猜的价格

3.比较两个价格,若猜错且机会没有用完,回到2

4.输入是否继续,若继续,回到1;

2.万年历

程序设计思路:

1.输入年份year,月份month

2.调用yeardays求1990到year之间的整年的天数

3.调用monthdays求1到moth之间的整月的天数

4.总天数%7取余数判断1号为星期几

3.互评成绩

程序设计思路:

1.设计求数组最值函数

2.在求平均值函数中,调用求最值函数,将每个元素求和,最后减去最值求平均

3.调用sort函数排序,输出成绩

注意:输出制表符时,应该用双引号

(三)代码托管

原文地址:https://www.cnblogs.com/TX980502/p/8571040.html

时间: 2024-10-31 17:49:02

# 《Java技术》第一次作业的相关文章

软件工程第一次作业补充

软件工程第一次作业的补充 对于作业"在一周之内快速看完<构建之法>,列出你不懂的5-10个问题". 作业要求有: (1)在每个问题后面,请说明哪一章节的什么内容引起了你的提问,提供一些上下文 (2)列出一些事例或资料,支持你的提问 (3)说说你提问题的原因,你说因为自己的假设和书中的不同而提问,还是不懂书中的术语,还是对推理过程有疑问,还是书中的描述和你的经验(直接经验或间接经验)矛盾? 例如:我看了这一段文字 (引用文字),有这个问题 (提出问题):我查了资料,有这些说法

第一次作业——四则运算小程序

这是第一次作业,而且是个人项目,说实话一开始得到作业还是很紧张的.虽然题目比较简单,但是由于自身动手能力很差,所以还是慌得要死. 经过思考和审题,我渐渐有了思路.四则运算主要的难点在于选取数是否是随机数而且是否能保证整数相除能否除尽. 一开始关于选取数是否随机我很苦恼,因为从前写程序变量基本都是自己赋值,没想到怎么随机取数.后来经过同学的点拨,我想到了随机选取函数.比如十以内的四则运算就将0-9赋给a1 再加1就变成1-10了.而保证除尽的问题也很快想到了解决方案,只需要添加一个判断两数相除记过

软件工程管理——第一次作业

这是软件工程管理课第一次作业,也是我的第一篇随笔. 这篇随笔分为四个部分:1.自我介绍. 2.对这门课的期待. 3.第一周工作统计. 4.第一个小项目(词频统计与四则运算选其一). 一.自我介绍        我叫夏一鸣,是东北师范大学计算机科学与信息技术学院,计算机应用技术专业的研一学生.本科也是东北师大的,专业是计算机科学与技术.我来自湖北咸宁,是一个南方小伙,为人还算随和乐观,希望老师和同学们多多关照. 二.对这门课的期待        我想,大家之所以选了这门课,当然初衷都应该是想学到一

2015-2016-1 学期《软件工程》第一次作业【点评】--- 欢迎其他老师和同学补充

第一次作业全部批改结束,总体情况如下: (1) 部分同学是从网络上搜索资料,一个链接直接copy.--- 直接 0 分: (人数在2位数) (2) 部分同学是从网络上搜索资料,多个链接(信息来源)整合在一起.--- 视其整合的深度,给予10~50 分:(人数在2位数) (3) 极少数同学也借鉴了网络资料,但是结合自己的体会给出了相应的分析. --- 给予60~90 分:(人数在个位数) ==== 对同学们的建议: (1)引用资料时(特别是网络上一些网页)要注意其资料的真实性.权威性和时效性.典型

实时软件系统设计第一次作业

实时控制软件设计第一次作业 ABS系统: 简称:制动防抱死系统(antilock brake system). 作用:在汽车制动时,自动控制制动器制动力的大小,使车轮不被抱死,处于边滚边滑(滑移率在20%左右)的状态,以保证车轮与地面的附着力在最大值. 原理:在制动时,ABS根据每个车轮速度传感器传来的速度信号,可迅速判断出车轮的抱死状态,关闭开始抱死车轮上面的常开输入电磁阀,让制动力不变,如果车轮继续抱死,则打开常闭输出电磁阀,这个车轮上的制动压力由于出现直通制动液贮油箱的管路而迅速下移,防止

重新提交的作业相较于第一次作业的改进

由于对第一次作业的估计严重失误,导致周二上交的作业是极其不完整的程序,无法正确运行.经过两天的调试,修改了众多BUG以及算法上的不足.以下是修改的主要问题: 1. 栈溢出导致的崩溃:修改了结构体数组变量的相关初始化,大致计算并限定了各函数中变量数组的界限,解决了栈溢出的问题. 2.生成计算式:本程序采用的方法是根据参数计算一个种子,作为间隔,然后按序生成,从而可以较容易的避免产生相同的计算式 (1)该种子的选取一开始存在问题,计算种子的失误导致往往生成的式子无法达到数量要求. (2)操作数的生成

【助教】第一次作业成绩

当我第一次知道公布大家第一次作业的分数的时候,其实我是拒绝的!因为我觉得……呀……你不能叫我公开我马上就公开,第一,我要想一下,我又不想说,你公布分数之后以后加了很多水分,那效果DUANG……很炫!很亮!很与众不同!结果我的分数一出来童鞋们以后一定骂我,根本不公正!……我说先要给我试一下.后来我经过也知道他们是很好的,而且不会很偏激的到我博客来骂我对不对? 那我发了分数以后,起码我觉得还蛮公平的,我还把分数发给老师看了一下,童鞋们应该不会打我吧:) 下面公布第一次作业成绩: 说明: 1.按照老师

软工实践第一次作业-黄紫仪

软工实践第一次作业 前言:emmmm之前因为没太注意,想着计算机专业怎么会有软工实践.所以之前一直都没去管.等到开学才发现突然翻车.QAQ现在赶紧先来补交一下. (1)回想一下你初入大学时对计算机专业的畅想 当初你是如何做出选择计算机专业的决定的? 你认为过去两年中接触到的课程是否符合你对计算机专业的期待,为什么? 你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗?   说到选择计算机,emmmm,某种意义上来说是打RPG游戏打出来的想法,因为很喜欢这类的游戏,所以也想去试着写一个属于自己的这种

第一次作业:一条咸鱼和计算机

第一次作业:一条咸鱼和计算机 第一部分:结缘计算机        我的经历和所有科班和非科班的博主都不太一样,他们大多数是喜欢计算机,或者认为计算机就业情况好,而我却是情非得已.第一次认识计算机应该是小学的时候再学校的机房里,当时的电脑是那种大屁股电脑,贼卡的那种,我们当时的计算机课应该是叫信息课,上课的时候总是偷偷一起玩金山打字里面的游戏,就是警察抓小偷的那个,想想当时一边玩游戏一边还要防被老师发现,还真的是挺刺激的啊.感觉我从前对计算机的印象就等同于玩游戏,小学的时候常年混迹电子厅,虽然经常

第一次作业_RTCSD2017

第一次作业要求: ubuntu linux环境下搭建arm交叉编译环境,git clone FreeRTOS例程并编译. 搭建交叉编译环境: 笔记本配置: Lenovo Y50,8GB Memory,Core i5-4210H CPU @ 2.90GHz x 4,NVIDIA GTX 860M 双系统: Windows 10  &  ubuntu 16.04 LTS (磁盘空间 340GB) 步骤: 1.设置软件源 系统设置-->软件和更新-->下载自:中国的服务器(mirrors.a