Java 舍入错误给了我无效的答案

Java 舍入错误给了我无效的答案,java,rounding,Java,Rounding,我在取整方面有问题。由于某种原因,我无法将testP四舍五入到第十位。例如,在第一个给定的例子(Alex Smith)中,它给了我82.0的答案,但它应该是82.6 以下是作业,其中包括以下示例: 导入java.io.File; 导入java.io.FileOutputStream; 导入java.io.PrintWriter; 导入java.math.*; 导入java.util.Scanner; 公共课平均分{ 公共静态void main(字符串[]args){ int num=0,temp

我在取整方面有问题。由于某种原因,我无法将
testP
四舍五入到第十位。例如,在第一个给定的例子(Alex Smith)中,它给了我82.0的答案,但它应该是82.6

以下是作业,其中包括以下示例:

导入java.io.File;
导入java.io.FileOutputStream;
导入java.io.PrintWriter;
导入java.math.*;
导入java.util.Scanner;
公共课平均分{
公共静态void main(字符串[]args){
int num=0,temp=0;;
字符串fileName=“AverageInput.txt”;
字符串fileName2=“AverageOutput.txt”;
扫描仪输入流=空;
PrintWriter outputStream=null;
双作业p=0;
//阅读
试一试{
inputStream=新扫描仪(新文件(文件名));//尝试打开该文件
}
捕获(例外e){
System.out.println(“无法打开名为“+fileName”的文件);//如果找不到,请告诉他们
System.exit(0);//然后退出。
}
//写
试一试{
outputStream=new PrintWriter(new FileOutputStream(fileName2,true));//尝试创建文件
}
捕获(例外e){
System.out.println(“无法打开名为“+fileName2”的文件);//如果找不到,请告诉他们
System.exit(0);//然后退出。
}
int numH=inputStream.nextInt();
int numT=inputStream.nextInt();
int[]arrayH=新int[numH];
outputStream.println(“平均值”);
字符串blank=inputStream.nextLine();
while(inputStream.hasNextLine()){
String line=inputStream.nextLine().replaceAll(“H”和“”).replaceAll(“T”和“”);
字符串[]nameParts=line.split(“”);
字符串名称=nameParts[0]+“”+nameParts[1];
对于(inti=0,p=2;i
更改

double testP =num/numT;

由于
num
numT
int
,您当前有一个整数除法,它将是
0
,而不是
0.xyz

更改

double testP =num/numT;


由于
num
numT
int
,您当前有一个整数除法,它将是
0
,而不是
0.xyz

“由于某种原因,我无法将
testP
四舍五入到第十位`这意味着您已经尝试过了。你试过什么?它做错了什么?提示:您将要尝试一个舍入函数。很抱歉没有进一步解释,这是一段代码,我已经编辑了多次。我以前试过使用数学、圆和其他东西。我可以建议你更仁慈一点吗?“由于某种原因,我无法将
testP
四舍五入到第十位`这意味着您已经尝试过了。你试过什么?它做错了什么?提示:您将要尝试一个舍入函数。很抱歉没有进一步解释,这是一段代码,我已经编辑了多次。我以前试过使用数学、圆和其他东西。我可以建议你更仁慈一点吗?
double testP = ((double) num) / numT;