我正在尝试从10个数字中输入您输入的最高和最低数字。确定最高数字可以正常工作,但是当我尝试应用相同的方法来获得最小数字时,我会继续得到这个数字,6.00758e-039。
我的班级标题:
import java.io.PrintWriter;
try {
PrintWriter writer = new PrintWriter("example.txt");
writer.print("stuff in my .txt");
writer.println();
writer.close();
} catch(IOException e) {
}
这是我得到数字的类,并确定哪些数字高于和低于彼此。
#ifndef GRADE_H
#define GRADE_H
using namespace std;
class Grade
{
public:
Grade();
void getGrades();
float detHighest();
float detLowest();
protected:
private:
float grades[10];
int x;
float z, y;
float *highest, *lowest;
};
#endif // GRADE_H
答案 0 :(得分:1)
班级成员“y”似乎未初始化。除非您没有显示其他代码,否则这是未定义的行为。当您第一次进入搜索最高或最低值的循环时,您将最终比较一个未初始化的类成员,其值将是随机二进制垃圾。
答案 1 :(得分:0)
使用指向未初始化变量的指针被认为是不好的做法。在教师中,您将两个指针的值设置为y和z的地址,但它们未初始化,因此它们都包含垃圾。解决问题的最简单方法是让两个浮点数包含最高值和最低值,但首先用-1初始化它们。要确定最高值,请将最高浮点数变量设置为第一等级的值,然后将其与每个等级进行比较,然后将其替换为更高等级。你可以添加一个if语句来测试函数是否返回-1然后出现错误。