实验一:java简单调试与应用

1:编写HelloWorld,输出“HelloWorld”,进行编译调试,文件名为HelloWorld.java。

2:输入长方形的长和宽,算出长方形的总面积,并输出总面积。利用java的System.out.println进行格式化输出,文件名为Rectangle.java。

3:多次输入一个整数,如果结果不是-1的话,就判断以下情况:如果小于60分,则为不及格,小于100分,大于60分为及格,其它输入为输入错误。若输入为-1,就退出,文件名为Score.java。

4:用for语句完成从1到100的累加,并输出总和的值,文件名为Sum.java。

5:编写一个Java应用程序,该程序在命令行窗口输出希腊文字表,文件名为GreekAlphabet.java。

6:编写一个Java应用程序,在主类的main方法中声明用于存放产品变量的int型变量amount和产品单价的float型变量price,以及存放全部产品总价值的float型变量sum,文件名为InputData.java。

1.源程序代码:

 public class HelloWorld {

    public static void main(String args[]) {

        System.out.println("HelloWorld");

    }

}

运行结果:

 

2.源程序代码:

import java.util.Scanner;

public class Rectangle {

    public int length;

    public int width;

    static int getArea(Rectangle rect) {//静态方法调用

        return rect.length*rect.width;//长方形面积公式

    }

    public static void main(String args[]) {

        Rectangle Rect = new Rectangle();//申请对象

        Scanner sc = new Scanner(System.in);//申请输入

        Rect.length = sc.nextInt();//手动输入

        Rect.width = sc.nextInt();//手动输入

        System.out.println("长方形面积为:"+Rectangle.getArea(Rect));//输出长方形的面积

        sc.close();//关闭输入流

    }

}

运行结果:

 

3.源程序代码:

import java.util.Scanner;

public class Score {

    public static void main(String args[]) {

        int x;

        Scanner sc = new Scanner(System.in);//申请输入

        while(true) {

            x = sc.nextInt();//手动输入成绩

            if(x == -1) {//如果输入为-1就退出

                break;

            }else if(x >=0 && x < 60) {//如果输入大于等于0且小于60就输出不及格

                System.out.println("该成绩不及格");

            }else if(x >= 60 && x <= 100) {//如果输入大于等于60且小于等于100就输出及格

                System.out.println("该成绩及格");

            }else {///如果输入不在0-100里的都是错误的

                System.out.println("输入错误,请重新输入");

            }

        }

        sc.close();//关闭输入流

    }

}

 

运行结果:

 

 

4.源程序代码:

public class Sum {

    public static void main(String args[]) {

        int sum=0;

        for(int i=1;i<=100;++i) {//1-100的累加

            sum+=i;//进行累加

        }

        System.out.println("总和为"+sum);

    }

}

运行结果:

 

5.源程序代码:

public class GreekAlphabet {

    public static void main(String args[]) {

        int begin,end;//begin是用来赋值希腊字符α的位置,end是用来赋值希腊字符ω的位置

        char cbegin='α',cend='ω';//这两个希腊字母的首尾是char型,先赋值下

        begin = cbegin;//进行强制转换成整型

        end = cend;//进行强制转换成整型

        System.out.println("希腊字母表如下:");

        for(int cnt=1,i=begin;i<=end;++i,++cnt) {

            System.out.print((char)i+" ");//char)是再次强制转换回char

            if(cnt%10 == 0) {//cnt是计数器,每十个就换行一次

                System.out.println("");

            }

        }

    }

}

运行结果:

 

6.源程序代码:

import java.util.Scanner;

public class InputData {

    public static void main(String args[]) {

        int amount;//申请变量

        float price,sum=0;//申请变量,并把sum初始化为0

        Scanner sc = new Scanner(System.in);//申请输入

        System.out.println("输入产品数量:");

        amount = sc.nextInt();

        System.out.println("输入产品单价:");

        price = sc.nextFloat();

        sum = amount*price;//单价乘数量就是总和了,整型*浮点型结果肯定是浮点型

        System.out.printf("产品数量:%d,产品单价:%.2f,全部产品总价值:%.2f",amount,price,sum);

        sc.close();

    }

}运行结果:

错误1:

错误代码截图:

正确代码截图:

错误提示截图:

错误原因分析:在这个错误中,错误中我发现了我申请了一个对象之后,在使用方法的时候没有加对象名进行调用方法。我刚开始写的那个方法是非静态的,那么我只要加上对象名这个方法就可以调用了,Rect.getArea(Rect)。

解决方法:如果我这个方法是静态方法的话,这时候我就有两种方法去调用这个方法,一个是类名+方法名(Rectangle.getArea(Rect))或者是对象名+方法名(Rect.getArea(Rect))。并且我发现在静态方法中不能使用this这个语句。

 

错误2:

错误代码:

正确代码:

错误提示:

错误原因分析:while要死循环不再是C语言那样直接while(1),java的死循环是跟布尔型有关。

解决方法:采用布尔型就可以了,while(true),这样就是java的死循环,true就代表1,false代表0。

 

错误3:

错误代码:

正确代码:

错误提示:

错误原因分析:经过发现是sum这个总和的变量未进行初始化,也就是说sum的值是一个未知的值,没办法进行累加操作。

解决方法:定义sum这个变量之后要初始化,sum=0就可以了。

第二题:

    static int getArea(Rectangle rect) {//静态方法调用

        return rect.length*rect.width;//长方形面积公式

    }

System.out.println("长方形面积为:"+Rectangle.getArea(Rect));//输出长方形的面积

 

第三题:

        while(true) {

            x = sc.nextInt();//手动输入成绩

            if(x == -1) {//如果输入为-1就退出

                break;

            }else if(x >=0 && x < 60) {//如果输入大于等于0且小于60就输出不及格

                System.out.println("该成绩不及格");

            }else if(x >= 60 && x <= 100) {//如果输入大于等于60且小于等于100就输出及格

                System.out.println("该成绩及格");

            }else {///如果输入不在0-100里的都是错误的

                System.out.println("输入错误,请重新输入");

            }

        }

 

第四题:

        for(int i=1;i<=100;++i) {//1-100的累加

            sum+=i;//进行累加

        }

 

第五题:

        int begin,end;//begin是用来赋值希腊字符α的位置,end是用来赋值希腊字符ω的位置

        char cbegin='α',cend='ω';//这两个希腊字母的首尾是char型,先赋值下

        begin = cbegin;//进行强制转换成整型

        end = cend;//进行强制转换成整型

        for(int cnt=1,i=begin;i<=end;++i,++cnt) {

            System.out.print((char)i+" ");//char)是再次强制转换回char

 

第六题:

sum = amount*price;//单价乘数量就是总和了,整型*浮点型结果肯定是浮点型

本次实验是java的第一次实践尝试,遇到了很多新的知识,但是学过C语言其实很多东西是一样的,java是一个面向对象的编程语言,很多底层的东西是不需要我们去使用,只要我们懂得使用就好。只有实践的知识才能记住,本次实验里我们进行了对数据类型的了解,以及输入输出的使用,还有类和对象的含义,学会怎么去包装是非常重要的。还有代码一定要清晰,让别人看的懂的。编程的过程中,命名一定要规范。多实践,才有更多的体会。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值