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

本文提供了六个Java编程实例,包括输出“HelloWorld”、计算长方形面积、成绩判断、求1到100的和、输出希腊字母表及计算产品总价值等。通过这些实例,帮助读者理解Java的基本语法和流程控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

Java程序设计》课程实验指导书程序代码(答案)(实验五:Java的异常处理),个人原创,仅供参考交流。 希望多多交流,共同进步! 实验Java的异常处理 实验目的: 理解 java 语言中独特的异常处理机制; 掌握异常处理方法; 正确地使用捕获异常和声明抛弃异常的两种异常处理的方法; 了解自定义异常的使用; 理解抛出异常和声明抛出异常的区别联系; 二、实验内容: 1. 从命令行得到5个整数,放入数组,然后打印输出,要求:如果输入数据不为整数,要捕获Integer.parseInt()产生的异常,显示“请输入整数”,捕获输入参数不足5个的异常(数组越界),显示“请输入至少5个整数”。 2.写方法void sanjiao(int a,int b,int c),判断三个参数是否能构成个三角形,如果不能则抛出异常IllegalArgumentException,显示异常信息a,b,c+”不能构成三角形”,如果可以构成则显示三角形三个边长,在方法中得到命令行输入的三个整数,调用此方法,并捕获异常。 3.自定义Sanj,其中有成员 x,y,z,作为三边长,构造方法Sanj(a,b,c)分别给x,y,z赋值,方法求面积getArea和显示三角形信息(三个边长)showInfo,这2个方法中当三条边不能构成个三角形时要抛出自定义异常NotSanjiaoException,否则显示正确信息。在另外中的方法中构造个Sanj对象(三边为命令行输入的三个整数),显示三角形信息和面积,要求捕获异常。 三、实验要求: 1. 通过实验掌握捕获异常和声明抛弃异常的两种异常处理的方法; 2. 程序必须能够捕获Integer.parseInt()产生的异常并作相应的处理; 3. 程序必须能够将处理的相应的信息输出出来; 4. 写出实验报告。要求记录编译和执行Java程序当中的系统错误信息提材示,并给出解决办法。(附运行界面、源代码)。 四、实验步骤: 1. (第1题) 使用try…..catch…. finally语句对Integer.parseInt()产生的异常进行捕获处理; 2. (第2题) 定义方法void sanjiao(int a,int b,int c)中,不符合条件则抛出异常(if a+b<=c(或a+c<=b,b+c<=a) then throw new IllegalArgumentException(),),再定义main方法,调用此方法,用try…..catch…. finally语句并捕获异常; 3. (第3题) 定义三角形及相应的方法, 在定义的方法中对不符合条件则抛出异常(如上题) ,再定义main方法,对正确的数据输出正确信息,否则捕获异常; 五、自做实验 1.参考下面的程序,试修改程序,捕获相关异常,使得程序能正常运行。[提示:用错误数据测试,即可得到异常名,运行时方法参数输入 abc 测试] public class StringIndexOutOf{ public static void main(String args[]){ System.out.println("字符串索引越界异常"); String str=args[0]; System.out.println(“第四个字符为 ”+str.charAt(3)); int aa=Integer.parseInt(args[0]); System.out.println(“平方为 ”+aa*aa); } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值