java练习题目1:让用户从键盘键入长方体的长,宽,高,计算并输出它的表面积与体积

每日小语

我相信即便是一道简单的题目,背后也有深刻的自然规律,通向那最高的“道”。

即便一个晚上,一道题也没做出来,只是不断地体悟那些解法与思想。彷佛这是一趟心灵的朝圣之旅。                                                                                                                                

                                                                                                                                        ——柳智宇

思考

最近开始拾起博客了,我可能注定是孤独的。

键入用Java好像是scanner

表面积计算公式好像是3*(长*宽+长*高+宽*高)

体积公式不说了

最后再掌握一下java输出的关键字,我记得是system.out.println()

嗯,可以开始自己写了。

自己敲写

public class SurfaceAndVolume 
{
	public static void main()
	{
		//设置长宽高变量
		double length;
		double width;
		double height;
		//用户输入
		Scanner scannerl = new Scanner (System.in);//长
		Scanner scannerw = new Scanner (System.in);//宽
		Scanner scannerh = new Scanner (System.in);//高
		
		//创建表面积和体积的对象
		double surface;
		double volume;
		SurfaceAndVolume surface = new SurfaceAndVolume();
		SurfaceAndVolume volume = new SurfaceAndVolume();
		//计算表面积
		double surface = 3*(length*width+length*height+width*height);
		//计算体积
		double volume =length*width*height;
		//输出数据 
		System.out.println("Surface:"+surface);//S要大写
		System.out.println("Volume :"+volume);
	}
}

这个有很多底下划横杠的部分,目前还不知道问题在哪里,我的gpt网站崩了呜呜呜。唉。

gpt指出的问题

这段代码存在几个问题,我来逐一指出并提供修改建议:

1.  `main` 方法的声明应该是 `public static void main(String[] args)`,而不是 `public static void main()`。Java 的 `main` 方法必须接受一个字符串数组作为参数。
2.  缺少 `import java.util.Scanner;`,需要在代码开头添加这一行以引入 `Scanner` 类。
3.  创建 `Scanner` 对象时应该使用一个 `Scanner` 对象来接收用户的输入,而不是每次都创建一个新的 `Scanner` 对象。应该像下面这样创建:
    
        Scanner scanner = new Scanner(System.in);
        length = scanner.nextDouble();
        width = scanner.nextDouble();
        height = scanner.nextDouble();
        
    
4.  定义表面积和体积的变量时,不需要再次创建 `SurfaceAndVolume` 对象,而只需定义一个变量即可。应该修改为:
    
        double surface;
        double volume;
        
    
5.  计算表面积和体积时,应该在接收用户输入之后进行计算。因为当前的代码在计算表面积和体积时,`length`、`width` 和 `height` 都没有被赋值,所以计算结果将会是错误的。
6.  在计算表面积和体积时,不需要再次声明 `double` 类型,应该直接进行计算。应该修改为:
    
        surface = 3*(length*width+length*height+width*height);
        volume = length*width*height;
        
    
7.  在输出数据时,应该将 `Surface` 的首字母大写。应该修改为:
    
        System.out.println("Surface: " + surface);
        System.out.println("Volume: " + volume);

import java.util.Scanner;

public class SurfaceAndVolume 
{
    public static void main(String[] args)
    {
        //设置长宽高变量
        double length;
        double width;
        double height;
        //用户输入
        Scanner scanner = new Scanner(System.in);
        System.out.println("Enter length: ");
        length = scanner.nextDouble();
        System.out.println("Enter width: ");
        width = scanner.nextDouble();
        System.out.println("Enter height: ");
        height = scanner.nextDouble();
        
        //创建表面积和体积的变量
        double surface;
        double volume;
        
        //计算表面积
        surface = 3*(length*width+length*height+width*height);
        //计算体积
        volume = length*width*height;
        
        //输出数据 
        System.out.println("Surface: " + surface);
        System.out.println("Volume: " + volume);
    }
}

gpt给的代码很棒,输入思想让我完善了许多
        经过修改代码运行成功啦,撒花花~

终极代码


import java.util.Scanner;
public class SurfaceAndVolume 
{
	private static Scanner scanner;

	public static void main(String[] args)
	{
		//设置长宽高变量
		double length;
		double width;
		double height;
		scanner = new Scanner (System.in);
		System.out.println("length:");
		length = scanner.nextDouble();
		System.out.println("width:");
		width = scanner.nextDouble();
		System.out.println("height:");
		height = scanner.nextDouble();
		//创建表面积和体积的对象
		double surface;
		double volume;
		//无需再写这一行SurfaceAndVolume surface = new SurfaceAndVolume();
		//SurfaceAndVolume volume = new SurfaceAndVolume();
		//计算表面积
		surface = 3*(length*width+length*height+width*height);//前面不用再写类型
		//计算体积
		volume =length*width*height;
		//输出数据 
		System.out.println("Surface:"+surface);//S要大写
		System.out.println("Volume :"+volume);
	}
}

  • 14
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值