任务08

154173845 朱家欣 现代软件工程工作室半月(2017年3月2日~2017年5月30日)学习情况总结

学习内容总结

从参加工作室到现在,我通过自主学习,学习了Java语言和Markdown语言,熟悉了Intellij IDEA编辑器和Git的使用,对博客园和Github网站上的技术博客管理也有了一定的了解,接触了很多,帮助挺多。

学习中的问题和解决过程

  • 问题1:初次接触Java语言不知道从何学起
  • 问题1解决方案:虽然有一点点不算基础的基础,通过自学+看视频,近期还打算买书进行自学+完成些编码,还是不懂就问,遇到不懂的问自己的同学以及老师进行求助
  • 问题2:在安装Intellij IDEA编辑器和Java的时候总会出现一些小问题
  • 问题2解决方案:通过老师给的资料进行操作,并百度求解,实在不行就询问老师,一步步慢慢完成

学习成果

  • 代码地址: 四则运算个人简历

  • 代码提交记录截图
    个人简历截图

    四则运算截图

  • 任务成果截图
    简历成果图

    四则运算代码

import java.util.Random;
import java.util.Scanner;
import java.lang.String;
import java.util.regex.Pattern;
public class work {
    public static void main (String[] arge){
        System.out.println("欢迎使用,输入“#”退出程序");
        System.out.println("*****请输入答题数*****");
        Scanner input =new Scanner(System.in);
        int num = input.nextInt();//答题数
        int right=0;//正确数
        int gb,gy;
        String [] record = new String[100];
        record[0]="";
        String result="";

        Random r = new Random();

        for(int i=0;i<num;i++){
            int s =r.nextInt(9);

            int a =r.nextInt(10);
            int b =r.nextInt(10)%10+1;

            int x =r.nextInt(10)%10+1;
            int y =r.nextInt(10)%10+1;
            while(a==x)  b=r.nextInt(9)+1;
            while(b==y)  x=r.nextInt(9)+1;
            String now=""+a+b;
            String now1=""+b+a;
            for(int j = 0;j < i;j++)
            {
                while(record[j].equals(now) || record[j].equals(now1))
                {
                    a = r.nextInt(10);
                    b = r.nextInt(9)+1;
                    while(a==b)  b=r.nextInt(9)+1;
                    now=""+a+b;
                    now1=""+b+a;
                    j=0;
                }
            }
            record[i]=now;

            switch(s){
                case 0:System.out.println("-----|"+a+"+"+b+"=?|-----");result=""+(a+b);
                    break;
                case 1:System.out.println("-----|"+a+"-"+b+"=?|-----");result=""+(a-b);
                    break;
                case 2:System.out.println("-----|"+a+"*"+b+"=?|-----");result =""+(a*b);
                    break;
                case 3:System.out.println("-----|"+a+"/"+b+"=?|-----");
                    if(a==0)
                        result="0";
                    else if(b==1)
                        result="b";
                    else
                        result=""+a+"/"+b;
                    break;
                case 4:System.out.println("-----|"+a+"/"+x+"+"+b+"/"+y+"=?|-----");
                    if(a==0)
                    {
                        if(b==0)
                            result="0";
                        else
                            result=b+"/"+y;
                    }
                    else
                    {
                        if(b==0)
                            result=a+"/"+x;
                        else
                        {
                            gb=tf1(x,y);
                            a=gb/x*a;
                            b=gb/y*b;

                            gy=tf2(a+b,gb);
                            result=(a+b)/gy+"/"+gb/gy;
                        }

                    }
                    break;
                case 5:System.out.println("-----|"+a+"/"+x+"-"+b+"/"+y+"=?|-----");
                    if(a==0)
                    {
                        if(b==0)
                            result="0";
                        else
                            result="-"+b+"/"+y;
                    }
                    else
                    {
                        if(b==0)
                            result=a+"/"+x;
                        else
                        {
                            gb=tf1(x,y);
                            a=gb/x*a;
                            b=gb/y*b;

                            gy=tf2(a-b,gb);
                            result=(a-b)/gy+"/"+gb/gy;
                        }
                    }
                    break;
                case 6:System.out.println("-----|"+a+"/"+x+"*"+b+"/"+y+"=?|-----");
                    if(a*b==0)
                        result="0";
                    else
                    {
                        gy=tf2(a*b,x*y);
                        result=a*b/gy+"/"+x*y/gy;

                    }
                    break;
                case 7:System.out.println("-----|"+a+"/"+x+"/"+b+"/"+y+"=?|-----");
                    if(a*y==0)
                        result="0";
                    else
                    {
                        gy=tf2(a*y,b*x);
                        result=a*y/gy+"/"+b*x/gy;

                    }
                    break;
                case 8:System.out.print(a+"/"+x+" + "+b+"=?");
                    System.out.println("(若是分数,请化为a/b的形式)");
                    y=1;
                    gb=tf1(x,y);
                    result=(gb/x*a+gb*b)+"/"+gb;
                    break;
            }
            String answer=input.next();
            while(!isNumeric(answer)){
                System.out.println("输入不合法!请重新输入");
                answer=input.next();
            }
            while(answer.contains("/")){
                int fm0=answer.indexOf("/");
                String fm00=answer.substring(fm0+1);
                if(fm00.compareTo("0")==0){
                    System.out.println("输入错误! 请重新输入");
                    answer=input.next();
                }
                else break;
            }
            if (answer.compareTo("#") == 0) break;
            if(result.equals(answer))
            {
                System.out.println("正确!");
                right++;
            }
            else
                System.out.println("错误!");

        }
        System.out.println("答对"+right+"题,答错"+(num-right)+"题");
        System.out.println("正确率:"+(1.0*right/num*100)+"%");

    }
    public static int tf1(int p,int q){
        int r,aa=p,bb=q;
        while(q!=0)
        {
            r=p%q;
            p=q;
            q=r;
        }
        int gb=aa*bb/p;
        return gb;
    }
    public static int tf2(int p,int q){
        int r;
        while(q!=0)
        {
            r=p%q;
            p=q;
            q=r;
        }
        return p;
    }
    public static boolean isNumeric(String str) {         //判断输入字符是否合法
        Pattern pattern = Pattern.compile("^[0-9]*$");
        if (str.contains("/") && str.contains("-")) {
            str = str.replaceFirst("/", "");
            str = str.replaceFirst("-", "");
        } else if (str.contains("/")) {
            str = str.replaceFirst("/", "");
        } else if (str.contains("-")) {
            str = str.replaceFirst("-", "");
        }
        return pattern.matcher(str).matches();
    }
}

思考

所谓师傅领进门,修行靠个人,自控这个问题还是我的一大问题,惰性严重,有这么好的机会,可以跟学长学姐同学一起努力还是要加油的,要努力自学,看视频看书,能多学一点就多学一点,不会有坏处的,所以还是希望自己可以努力控制自己学习。

学习时间统计

  • 计划学习时间:每天2-3小时
  • 实际学习时间:因为自控问题每天1小时甚至没有,希望自己以后可以努力改善

你阅读过的参考资料

下阶段学习计划

  • 总体来说加入工作室之后,是努力认真了一段时间,但越到学期末越是懒散,做好自身,控制好自己,对Java的认识可能连基础都没有,通过多看Java课程 Java300集大型视频教程并阅读java从入门到精通书籍,进行操作,进行实践来提高自身水平。
原文地址:https://www.cnblogs.com/xczl/p/6923295.html