这段JAVA代码哪里有问题呢?

作者&投稿:充福 (若有异议请与网页底部的电邮联系)
这段Java程序哪儿有问题?~

算法异常。
我运行了一下,错误出在e = g.divide(h, mct);这句话,我打印了一下h和mct的值:
0/precision=2 roundingMode=HALF_DOWN

然后再仔细看一下divide函数的定义,我发现
Throws:ArithmeticException - if the result is inexact but the rounding mode is UNNECESSARY or mc.precision == 0 and the quotient has a non-terminating decimal expansion.
翻译一下就是:
如果结果不精确但舍入模式是不必要的或mc.precision = =0和商有无尽小数展开就会抛出异常。
据此判断,你这个舍入模式是不必要的,所以抛出了异常。

我又打印了一下g和h,发现都是0,也有可能是在此0/0引起的错误。

额,看了上面的回答我很无解。。。。。。
双引号是否有问题我不知道,不过应该用英文的。
另外类名和文件名没有直接关系吧,除非是这个类是public的,那就要求他和存储的文件名一致,所以这个类名不用去改。
编译是没有问题的,但是如果要运行,因为JVM是从main()方法启动的,而这个main()方法的格式是固定的,那就是public static void main(String[] args){ } 当然,参数名你可以改。
所以我觉得这个类编译完全可以通过,但是要想运行,那就要把main()方法改为public的。

来看看mianji()那个函数,既然Mj中有xyz这几个变量,显然ini这个函数是初始化这些变量,而一个类中的变量是可以被他其中是函数使用的,但你现在mianji()中也有xyz这三个变量的参数,这样一来类Mj中的xyz就被mianji()屏蔽了,只能使用this关键字调用,现在你的这段程序就是说你每次调用mianji()是必须输入3个无关的变量,你可以把代码改成下面这个样子:(你原先的代码连主函数也没有,是无法测试和直接使用的)
class Mj
{
double x,y,z;
void init(double x,double y,double z)
{
this.x=x;
this.y=y;
this.z=z;
}
double mianji()
{
return x*y*z;
}
}
public class UseMj{
public static void main(String[] args){
Mj p1=new Mj();
p1.init(10.2,15.1,5.0);
System.out.println("体积为: " + p1.mianji());
}}

正确的代码如下:
public class Mj
{
double x,y,z;
void init(double x,double y,double z)
{
this.x=x;
this.y=y;
this.z=z;
}
public double mianji(double x,double y,double z)
{
double s;
s=this.x*this.y*this.z;
return s;
}
public static void main(String[] args)
{
Mj p1=new Mj();
p1.init(10.2,15.1,5.0);
System.out.println("体积为:"+p1.mianji(10.2,15.1,5.0));
}}

其中p1.mianji()没有定义这个方法,在类里只定义了mianji(double x,double y,double z)方法,所以要改为 p1.mianji(10.2,15.1,5.0)

double mianji(double x,double y,double z)
{
double s;
s=this.x*this.y*this.z;
return s;
}
改成
double mianji()
{
double s;
s=this.x*this.y*this.z;
return s;
}
没有必要写参数!

class UseMj {

public static void main(String[] args) {
Mj p1=new Mj();
p1.init(10.2,15.1,5.0);
System.out.println("体积为:"+p1.mianji(10.2, 15.1, 5.0));
}

}
要有主函数才行!


这段java代码错在哪里,怎么改。错误提示对于结果类型为空的方法, 无法...
public void getAge() {return age;}上面这个你弄错了, 有返回值只能改成int,修改后的如下class AbstractCaseDemo02{public static void main(String args[]){Person per1 = null;Person per2 = null;per1 = new Student("张三",22,333.9f);per2 = new Worker("李四",33,5555.8f);per...

这段java代码提示出错,请问到底是哪里出错了,怎么解决
第二:函数的在其他地方调用,至少应该是:函数名()的形式。第三:静态函数可以使用类名.函数名()的方式调用,非静态函数,则应该是对象名.函数名()的方式调用 如果需要详细指导,请查看我资料的网址连接,我们一定耐心为你解答。以下为正确代码:class Volume { double r,h; Volume(double ...

求一段JAVA代码(实例代码)
import java.awt.event.*;import java.util.ArrayList;import java.util.List;import javax.swing.*;public class FrameTest { public static void main(String[] args) { new F();} } class F extends JFrame implements ActionListener { JCheckBox[] jCheckBoxs;JRadioButton[] JRadioButtons;...

这段java代码哪里错了要怎么改
代码呢,在哪 ~~~

求大神解析这段java代码的错误,不知道问题出在哪里...
java是一门面向对象的语言,你却还在用面相过程的思路编程,说明你还没有掌握JAVA最核心的思想。任何东西都应该是一个类的实例。没有必要debug你现在的程序, 全删了用面相对象的思路重写. 大致思路是你先写一个汽车的类,包含汽车的各种属性;再写一个租车公司的类,包含各种汽车,并提供一些methods,...

写java程序如何用手机编写?
以下是在手机上写代码的步骤(以安卓手机为例):1、在百度上搜索AIDE程序并下载安装好;2、打开程序默认进入的JAVA源代码编写界面。系统自动给出了一段JAVA “hello world”源代码。点击右上角的播放器按钮即可编译运行。如果源代码有误编译器会提示错误地方,还是比较人性化的。成功编译则可以看到屏幕上...

刚学java,一段java代码不知哪里错了,编译成功了,但不能运行,求大侠帮忙...
staff[0]=new Employee("Carl Cracker",75000,1987,12,15);staff[0]=new Employee("Harry Hacker",50000,1987,10,1);staff[0]=new Employee("Tony Tester",40000,1990,3,15);改为 staff[0]=new Employee("Carl Cracker",75000,1987,12,15);staff[1]=new Employee("Harry Hacker",50000,...

这段java程序是哪里出了问题,能编译成class,但是不能运行出来,代码如下...
class都可以生成的 你错在倒数第五行 那个tf2.append(tf1.getSelectedText()); 这里的append 有问题 你是想添加吗

这段java代码是什么意思?
这一段代码是Java多线程和Socket通信相关的,大致一看跟一般的聊天室demo有些相似建议您先学习一下Java多线程的基础知识了解一下Runable接口和Thread 类,以及了解相关Socket初步知识import java.io.IOException;import java.io.PrintStream;import java.net.ServerSocket;import java.net.Socket;\/**一个多...

JAVA构造代码块所在区域
首先看一段代码,使用构造代码块做对象计数器.public class Client { public static int count = 0;{ count++;} public Client() { } public Client(int i) { this();} public Client(String string) { } public static void main(String[] args) { new Client(); ...

子长县18691722289: 求助Java大神,这段代码到底哪里错了... -
史荀科洛: 圈中的大括号位置错了,应该在 这个代码后边.

子长县18691722289: 这段java语言代码错在哪里 -
史荀科洛: Register r=new Register(); 改为 Register1 r=new Register1(); 即正解 你使用记事本编辑的吧 如果用myeclipse 它会直接提示你这里错误的

子长县18691722289: 这段java代码哪里错了? -
史荀科洛: clsaa Point { 错误 应该class Point下面的Point()() 错误 应该 Point(){}

子长县18691722289: JAVA这段代码问题出在哪?
史荀科洛: 你好,你这段代码只是一个小片段,问题很多, 1.首先是楼上说的index问题, 2.然后是Goods应该是一个实体类,没见你导入,不知道你的项目中是否有这个类.Goods至少有两个属性, 四个方法.或许会更多 3.莫名其妙的又出来个goodsList ...

子长县18691722289: 大家帮我看一下这个java代码哪里有错
史荀科洛: 你这个代码有两个问题: 1.2的120次方太大long存不下 2.从1加至2的120次方等于是1+2+...加到2的120次方吗?要是了你的代码是不对的,你写的像是从2的1次方加到2的120次方,但你最后有写了一个totall2 = totall1 + 1 + 2 ;看起也不像是. ...

子长县18691722289: 这个java代码的错误到底在哪里? -
史荀科洛: mima = scanner.next(); 中 mima未定义类型

子长县18691722289: 帮我看看这段java代码错在哪里了,while语句哪里不对吗? -
史荀科洛: //代码逻辑有问题//用下标取数据时首先得判断你的下标是否有效//输入的24是字符串//拆分为字符就是'2' '4'对应的ASCII码就是50 52//所以你的while循环循环到第二次的时候就越界了////还有 写代码注意格式下//乱糟糟的都在一团 都没法看了 ...

子长县18691722289: 请问这段JAVA代码哪里错了,在eclipse里面总是无法运行 -
史荀科洛: 代码没有错.1、如果编译通过了,则是对的.如果你编译都是错的,那就是JDK没有了2、可能运行输入的是字符串或其他类型导致的错误,因为你要求是输入整数.

子长县18691722289: 我这段java的代码哪里写错了 -
史荀科洛: 男checked="true"&#...

子长县18691722289: 帮我检查一下这段Java代码哪里出错?
史荀科洛: if后面应该是user=='青'&&password==123

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网