java - 大家好,我是编程初学者,我的项目有问题
问题描述
在这里,如果我想要 if 语句的值,它给了我 0.0 而不是我想要的我该如何解决这个问题在此处输入图像描述
解决方案
在您的代码片段中,在setMark()方法中,您在字符串数组中从用户那里获取输入,而在getPoints()方法中,您正在将字符串数组与字符串进行比较。这就是为什么你的 if() 块总是返回 false。示例:下面的结果总是错误的。
public static void main(String[] args) {
String[] mark = new String[5];
if(mark.equals("A+")){
System.out.print("true");
}
else{
System.out.print("false");
}
}
因此,在getPoints()中,如果要计算总分,则必须遍历 mark[],然后检查每个数组元素的“A+”等成绩。像这样 :
public double getPoints(){
for(String s : mark){
if(s.equals("A+") || s.equals("a+")){
point+=5;
}
else if(s.equals("B+") || s.equals("b+")){
point+=4.75;
}
//following remaining conditions
}
}
推荐阅读
- java - GenericUDAFResolver2 已被弃用,我们现在应该如何实现 UDAF?
- node.js - Expressjs - 将标头发送到客户端后无法设置标头
- r - 根据相邻列的值替换多列中的值
- javascript - 如何在 django 模板中访问外键?(列表显示)
- c# - 可访问性问题
- php - 上传图片和文件到论坛
- django - 如何在 dajngo 中使用带有 s3 的静态 div 的背景 url
- docker - 将 docker 容器连接到 docker 桥时如何设置接口名称?
- vuejs2 - vue没有运行保存在实例中的变量
- c# - 关闭 sql 连接的正确方法 - 不使用 MARS