Java 大家好,我是编程初学者,我的项目有问题

Java 大家好,我是编程初学者,我的项目有问题,java,Java,这里,如果我想要if语句的值,它给我的值是0.0,而不是我想要的值。如何解决这个问题呢?在您的代码段中,在方法setMark()中,您在字符串数组中获取了用户的输入,而在getPoints()方法中,您正在比较字符串数组和字符串。这就是为什么if()块总是返回false。示例:下面的结果总是错误的 public static void main(String[] args) { String[] mark = new String[5]; if(mark.

这里,如果我想要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()中,如果要计算总分,必须迭代标记[],然后检查每个数组元素的等级,如“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
        }
    }

发帖前请阅读问题:这里一个明显的问题是你正在做
mark.equals(“某物”)
,但是
mark
是一个
String[]
:一个字符串数组永远不会等于一个字符串。请不要使用SC,而是将你的代码复制到这里。欢迎使用堆栈溢出!请阅读“如何创建一个应用程序”。然后使用链接改进您的问题(不要通过评论添加更多信息)。否则,我们无法回答您的问题并帮助您。当然了。使用有意义的问题标题。每个来这里的人都有问题。是请更具体。欢迎来到堆栈溢出!请阅读/。然后使用链接将问题中的文本截图替换为格式良好/缩进良好的文本。