Blog作业1

一前言:

1:第一次作业主要是练习java的基本操作,让我们初步理解java这门语言。难度比较小。正好是java的入门题。帮助我们了解java的基本用法。

2:第二次作业相对于第一次作业就要难一点了,让我们更深入的了解java这门语言。第二次作业让我感觉到了java这门语言的难度,相对于第一次的作业,我写第二次的作业明显有一些难度了。这也让我觉得这门语言真的要花费很多的时间和精力去学习

3:第三次作业就真正的进入了java的领域中了,让我们要运用类的方法去解题。也让我们看到了java这门语言与C语言的巨大区别。不同于C语言的面对过程,java是运用面对对象,大大地提高了jav这门语言的灵活性。使得java这门语言成为编程的高级语言,在今天具有广泛的运用。我本人对于学习这门语言还是存在很大的难度的。第三次的作业算是真正的进入了java中,利用java的方法去解决问题。

二设计与分析:

mport java.util.Scanner;
public class Main {
public static void main(String[] args) {
int arr[]=new int[10];
for (int i=0;i<10;i++){
Scanner sc=new Scanner(System.in);
int temp=sc.nextInt();
arr[i]=temp;
}

for (int i=0;i< arr.length;i++){
for (int j=i+1;j< arr.length;j++){
if (arr[i]>arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
//System.out.println("i="+i+",j="+j+",arr["+i+"]="+arr[i]+",arr["+j+"]="+arr[j]);
}
System.out.println();

for (i=0;i<10;i++) {
System.out.print(" The sorted numbers are:");
}
}
}
}

这是第一次作业的七八题。这个题主要是对多个整数进行排序。这题主要运用的冒泡排序的方法来解决这个题目。冒泡排序这个方法在C语言中就已经学过了,说以这个题目整体的难度不算很难。也算是java的一个入门题,帮助我们快速适应java的使用方法.

mport java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入三角形的三个边:");
int a=sc.nextInt();
int b=sc.nextInt();
int c=sc.nextInt();
if((a+b<=c)||(a+c<=b)||(b+c<=a)){
System.out.println("Wrong Format");
}else if(a==b && b==c){
System.out.println("Equilateral triangle");
}else if(a==b||b==c||a==c){
System.out.println("Isosceles triangle");
}else if(a*a==b*b+c*c || b*b==a*a+c*c || c*c==a*a+b*b){
System.out.println("Right-angled");

}
}

这是第一次作业的第八题,这题是判断三角形的类型。这道题主要是锻炼我们的思维能力和逻辑能力,让我们把所有的情况都要向清楚,不能落下每一种情况,非常有效的锻炼我们的思维,提高我们的缜密性

mport java.util.Scanner;
public class Main{
public static boolean isLeapYear(int year){
if((year%4==0&&year%100!=0)||year%400==0)
return true;
else return false;

}
public static boolean checkInputValidity(int a,int b,int c){
boolean p=true,q;
q=isLeapYear(a);

if(a>2020||a<1820||b>12||b<1||c<1)
p=false;
if(b==1||b==3||b==5||b==7||b==8||b==10||b==12)
{ if(c>31)p=false;}
if(b==4||b==6||b==9||b==11)
if(c>30)p=false;
if((q==true&&b==2&&c>29)||(q==false&&b==2&&c>28))
p=false;
return p;
}
public static void nextDate(int a,int b,int c){
if(b==12&&c==31)System.out.println("Next date is:"+(a+1)+"-1-1");
else if(b==1&&c==31)System.out.println("Next date is:"+a+"-"+(b+1)+"-1");

else if(b==2&&c>=28)System.out.println("Next date is:"+a+"-"+(b+1)+"-1");
else if(b==3&&c==31)System.out.println("Next date is:"+a+"-"+(b+1)+"-1");
else if(b==4&&c==30)System.out.println("Next date is:"+a+"-"+(b+1)+"-1");
else if(b==5&&c==31)System.out.println("Next date is:"+a+"-"+(b+1)+"-1");
else if(b==6&&c==30)System.out.println("Next date is:"+a+"-"+(b+1)+"-1");
else if(b==7&&c==31)System.out.println("Next date is:"+a+"-"+(b+1)+"-1");
else if(b==8&&c==31)System.out.println("Next date is:"+a+"-"+(b+1)+"-1");
else if(b==9&&c==30)System.out.println("Next date is:"+a+"-"+(b+1)+"-1");
else if(b==10&&c==31)System.out.println("Next date is:"+a+"-"+(b+1)+"-1");
else if(b==11&&c==30)System.out.println("Next date is:"+a+"-"+(b+1)+"-1");
else System.out.println("Next date is:"+a+"-"+b+"-"+(c+1));
}
public static void main(String[] args){
Scanner input=new Scanner(System.in);
int a=input.nextInt();
int b=input.nextInt();
int c=input.nextInt();
if(checkInputValidity(a,b,c)==false)
System.out.println("Wrong Format");
else nextDate(a,b,c);
}

}

这是第二次作业的第四题,让我们去求下一天。本题也非常考验我们的逻辑能力

import java.util.Scanner;
public class Main{
public static boolean isLeapYear(int year){
if((year%4==0&&year%100!=0)||year%400==0)
return true;
else return false;

}
public static boolean checkInputValidity(int a,int b,int c,int n){
boolean p=true,q;
q=isLeapYear(a);

if(a>2020||a<1820||b>12||b<1||c<1)
p=false;
if(b==1||b==3||b==5||b==7||b==8||b==10||b==12)
{ if(c>31)p=false;}
if(b==4||b==6||b==9||b==11)
if(c>30)p=false;
if((q==true&&b==2&&c>29)||(q==false&&b==2&&c>28))
p=false;
if(Math.abs(n)>10)p=false;
return p;
}

public static void main(String[] args){
Scanner input=new Scanner(System.in);
int a=input.nextInt();
int b=input.nextInt();
int c=input.nextInt();
int d=input.nextInt();
if(checkInputValidity(a,b,c,d)==false)
System.out.println("Wrong Format");
else{
int n;
n=c-d;
if(b==1)
{
if(n>31)System.out.println(d+" days ago is:"+a+"-"+(b+1)+"-"+(n-31));
else if (n<0)System.out.println(d+" days ago is:"+(a-1)+"-12"+"-"+(31+n));
else System.out.println(d+" days ago is:"+a+"-"+b+"-"+n);
}
if(b==2){
if(isLeapYear(a)==true){
if(n>29)System.out.println(d+" days ago is:"+a+"-"+(b+1)+"-"+(n-29));
else if (n<0)System.out.println(d+" days ago is:"+a+"-1"+"-"+(31+n));
else System.out.println(d+" days ago is:"+a+"-"+b+"-"+n);
}
else {if(n>28)System.out.println(d+" days ago is:"+a+"-"+(b+1)+"-"+(n-28));
else if (n<0)System.out.println(d+" days ago is:"+a+"-1"+"-"+(31+n));
else System.out.println(d+" days ago is:"+a+"-"+b+"-"+n);}
}



if(b==3)
{
if(n>31)System.out.println(d+" days ago is:"+a+"-"+(b+1)+"-"+(n-31));
else if(n<0){if(isLeapYear(a)==true)System.out.println(d+" days ago is:"+a+"-2"+"-"+(29+n));
else System.out.println(d+" days ago is:"+a+"-2"+"-"+(28+n));}
else System.out.println(d+" days ago is:"+a+"-"+b+"-"+n);
}
if(b==4||b==6||b==9||b==11)
{
if(n>30)System.out.println(d+" days ago is:"+a+"-"+(b+1)+"-"+(n-30));
else if(n<0)System.out.println(d+" days ago is:"+a+"-"+(b-1)+"-"+(31+n));
else System.out.println(d+" days ago is:"+a+"-"+b+"-"+n);
}
if(b==5||b==7||b==10)
{
if(n>31)System.out.println(d+" days ago is:"+a+"-"+(b+1)+"-"+(n-31));
else if(n<0)System.out.println(d+" days ago is:"+a+"-"+(b-1)+"-"+(30+n));
else System.out.println(d+" days ago is:"+a+"-"+b+"-"+n);
}
if(b==8)
{
if(n>30)System.out.println(d+" days ago is:"+a+"-"+(b+1)+"-"+(n-31));
else if(n<0)System.out.println(d+" days ago is:"+a+"-7"+"-"+(31+n));
else System.out.println(d+" days ago is:"+a+"-"+b+"-"+n);
}
if(b==12)
{
if(n>31)System.out.println(d+" days ago is:"+(a+1)+"-1"+"-"+(n-31));
else if(n<0)System.out.println(d+" days ago is:"+a+"-11"+"-"+(30+n));
else System.out.println(d+" days ago is:"+a+'-'+b+"-"+n);
}

}
}
}

这是第二次作业的第五题,让我们求前N天

三踩坑心得:我感觉我没有完全投入到java的学习中,这让我写第二次作业和第三次作业显得非常吃力。这几次作业也是出现了非常多的错误

测试永远是检查一个代码是否有bug的最简洁的方法。

四改进建议:希望以后自己会跟加的小心,话一些时间来测试bug

五总结:这三次作业让我清楚的看到了自己的实力,也让我下定决心要学好java这门语言,不能浪费自己的时间。要把以前自己不会的都要补上来,努力学习好这门课程。

 

posted @ 2021-04-04 23:51  Hsb123456  阅读(44)  评论(0)    收藏  举报