zoukankan      html  css  js  c++  java
  • java第一次作业

    (一)学习总结

    1.在java中通过Scanner类完成控制台的输入,查阅JDK帮助文档,Scanner类实现基本数据输入的方法是什么?不能只用文字描述,一定要写代码,通过具体实例加以说明。

    ***输入数据.
    最简单的数据输入直接使用scanner类的next()方法。
    import java.util.Scanner;
    public class ScannerDemo01{
    public static void main(String[] args){
    Scanner scan=new Scanner(System.in);//从键盘接收数据
    System.out.print("输入数据:");
    String str=scan.next();
    System.out.println("输入的数据为:"+str);
    }
    }
    运行中发现如果输入空格,但是空格后的东西没有了,造成此结果原因是因为scanner将空格当作了一个分隔符,为了保证程序的正确,可将分隔符号修改为 (回车)

     import java.util.Scanner;
     public class ScannerDemo01{
     public static void main(String[] args){
     **Scanner scan=new Scanner(System.in);//从键盘接收数据**
     **scan.useDelimiter("
    ");//修改输入数据的分隔符**
     System.out.print("输入数据:");
     **String str=scan.next();**
     System.out.println("输入的数据为:"+str);
     }
     }
    

    以上代码完成了字符串内容的输入,输入float或int类型的数据,在scanner中支持,最好使用hasNextInthasNextFloat进行验证。

     import java.util.Scanner;
     public class ScannerDemo01{
     public static void main(String[] args){
     Scanner scan=new Scanner(System.in);
     int i;
     float f=0.0f;
     
     System.out.print("输入整数:  ");
     if(**scan.hasNextInt()**)**//判断输入的是否是整数**{
    	**i=scan.nextInt();//接受整数**
    	 System.out.print("整数:"+i);
    	 
     }else{
    	 System.out.print("输入的不是整数!");
     }
     System.out.print("输入小数:  ");
     if(**scan.hasNextFloat()**)**//判断是否是小数**{
    	 **f=scan.nextFloat();//接收小数**
    	 System.out.print("小数:"+f);
     }
     else{
    	 System.out.print("输入的不是小数!");
     }
     
     }
     }
    

    2.Random类Math类的random()方法都能产生随机数,这两种方式有什么区别,各有什么特点呢?查阅JDK帮助文档,并举例加以说明。
    Math类包含了所用用于几何和三角浮点运算方法,这些方法都是静态的。
    例:四舍五入:public static long round(double a);
    round()是将小数点之后的所有小数位四舍五入,最后只剩下整数部分。
    double num=88.678;
    System.out.println(Math.round(num));//输出结果为89.
    Random类是一个随机数产生器,随机数是按照某种算法产生的一旦用一个初值创建Random对象,就可以得到一系列随机数。
    例:利用Random类来产生5个0---100之间的随机整数。
    import java.util.Random;
    public class RandomDemo01{
    public static void main(String[] args){
    Random r=new Random();//建立一个Random对象用于生成随机数
    for(int i=0;i<5;i++)//循环5次,最后结果会生成5个整数

    {
    System.out.print(r.nextInt(100)+" ");//输出随机数,设置字段100个,并在每个随机数间加上空格
    }
    }
    }
    利用Random随机产生一组数,但这种方式的结果是事先未知的。可以用来编写验证码。

    3.本次学习要点中其他需要总结的内容:因人而异,根据自己的学习情况,记录难掌握或难理解的内容,以及学有心得的内容。还存在哪些问题,也可以提出来,对于同学在博客中提出的问题,大家可以积极讨论,互帮互学。

    (二)实验总结

    对完成实验内容过程中遇到的问题、解决方案以及程序的设计思路和思考等进行归纳总结。
    1.猜商品价格游戏:

    程序设计思路:

    1.1
        Scanner input=new Scanner(System.in);
    	System.out.println("请输入所猜商品的价格(0到100)之间");
    	int price=input.nextInt();
    	运用Scanner类next()方法进行输入和输出数据
    
    1.2	int i=10;
    	if(price==100)
    	System.out.println("恭喜你猜正确,获得满分10分");
    	出现问题:使用整型变量要提前声明int
    
    1.3 System.out.println("输入0则退出游戏,回车后继续游戏");
    		 String c0 = "0";
    	        Scanner Look0= new Scanner(System.in);
    	        if (Look0.nextLine().equals(c0)) {
    	            System.out.println("退出成功,共获得" + i + "分!!");
    	            System.exit(0);}
            else
    	        {
    	  使用equals()函数进行 数据之间的比较,这里运用了scanner next()方式对look0进行输入输出数据,而c0所设置的是字符串形式。退出直接使用System.exit();
    

    我的反思:
    这几个方法后来想想还是挺简单的,但是之前却运用了好多次都不正确。还有本来的思路是使用switch case方法,但是考虑到价格之间的波动性屡次使用都不成功,于是就直接一口气用了好多if else语句,但是最后编出来的还是有很明显的局限性:就是你必须按照本程序的一定向的顺序来运行方能成功,否则 随便输入的话结果就不对了,so,我想我还得思考一下这个问题怎么解决。在这之前,若想保持本程序的基本运作,就必须按照其顺序进行操作。

    2.万年历的编辑

    程序设计思路:

         2.1    
          boolean  runnian=false;
    	  if((year%4==0&&year%100!=0)||(year%400==0))
    	  {runnian=true;}
    	  else
    	  {runnian=false;}
    	  if(runnian)
    	  {System.out.println(year+"为闰年");}
    	  else
    	  {System.out.println(year+"为平年");}
    	  声明一个boolean布尔型的变量runnian,用于判断你所输入的年份是不是闰年,布尔型只有两个取值:true和false.
    	 2.2 判断每个月有多少天用switch case方法来解决。
    

    我的反思:
    这个程序我学习了布尔类型变量的使用,虽然将每个月的星期的框架列出来了,但是却不会依次列出日期,思考了这个月的第一天是星期几的问题没能解决,还有日期不能依次列出的问题没能解决。总的来说我的这个程序能够清晰的运行出某年某月有多少天,也算有些许的进步。

    (三)代码托管
    码云commit历史截图
    上传实验项目代码到码云,在码云项目中选择“统计-commits”,设置搜索时间段,搜索本周提交历史,并截图,同时应该给出git项目的链接。

    (四)学习进度条

    学习时间 本周学习内容 代码行数
    目标 5000行 300小时
    第2-4周 30/30 equals,scanner,random,布尔型变量等基本的用法
    第5周
    第6周
    ————————————————————————————————————
  • 相关阅读:
    float及清除浮动
    HTML meta标签总结与属性使用介绍
    jQuery相关知识
    FullCalendar日程设置
    Python基础知识
    波段选择
    CSS基础知识
    稀疏表示的高光谱分类
    Sass基本特性
    [Sass]混合宏
  • 原文地址:https://www.cnblogs.com/zhaotong189800/p/6572135.html
Copyright © 2011-2022 走看看