芒果芭乐 2024-04-21 16:55 采纳率: 90.2%
浏览 3
已结题

她用智能分析回答我的问题。😓




public class Math {
    public static void main(String[] args) {
        Math ma=new Math(System.in);
        System.out.println("输入一个奇数n:");
        int n;
        n=ma.nextInt();
        float p;
        p=(2*n+3)/(n*n);
        System.out.printf("%.1f%%\n",p);
        ma.close();
    
    }
}

这串代码哪里有问题啊 做的是下面👇的题目
类的名称不能用Math的话那是随便取的吗

img

  • 写回答

4条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-04-21 16:55
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    该代码存在以下问题:
    1. 因为类名和Java自带的Math类重名,所以代码会编译报错。
    2. 在代码中,使用了一个未定义的变量ma.nextInt()。因为输入操作应该使用Scanner类,所以需要在类的构造函数中初始化Scanner对象。
    3. 在计算p的表达式中,需要将2*n+3的两个因子括号括起来,否则会导致数学计算上的错误。 下面是修改后的代码示例:
    import java.util.Scanner;
    public class MyMath {
        private Scanner scanner;
        public MyMath(Scanner scanner) {
            this.scanner = scanner;
        }
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            MyMath myMath = new MyMath(scanner);
            System.out.println("输入一个奇数n:");
            int n = myMath.scanner.nextInt();
            float p = (float) (2 * n + 3) / (n * n);
            System.out.printf("%.1f%%\n", p);
            myMath.scanner.close();
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 5月1日
  • 已采纳回答 4月23日
  • 创建了问题 4月21日

悬赏问题

  • ¥15 AD9910输出波形向上偏移,波谷不为0V
  • ¥15 淘宝自动下单XPath自动点击插件无法点击特定<span>元素,如何解决?
  • ¥15 曙光1620-g30服务器安装硬盘后 看不到硬盘
  • ¥15 抖音直播广场scheme
  • ¥15 为什么我明明有这个文件调试器还显示错误?
  • ¥15 软件工程用例图的建立(相关搜索:软件工程用例图|画图)
  • ¥15 如何在arcgis中导出拓扑关系表
  • ¥15 处理数据集文本挖掘代码
  • ¥15 matlab2017
  • ¥15 在vxWorks下TCP/IP编程,总是connect()报错,连接服务器失败: errno = 0x41