Java 检查变量是否为 AG。如果没有,显示错误信息并再次询问

melody_florum

我正在尝试编写一个程序来计算音阶。不幸的是,我遇到了一个问题。我需要一种方法来检查输入值是否是音阶上的音符之一。如果是,请将其转换为数字以供以后计算。如果没有,则显示错误并再次询问。我尝试这样做,即使我给出了有效的注释,它也会使我陷入无限循环。有什么帮助吗?我的代码:

    package music;

import java.util.Scanner;

import javax.swing.JOptionPane;

public class musicc {
    public static void main(String[] args) throws Exception {
        int noteid;
        noteid = musicc.getNoteId();
    }

    public static int getNoteId() {
        String note = "0";
        int returnValue = 0;
        note = (String)JOptionPane.showInputDialog(null,"What note do you want to start on?",JOptionPane.PLAIN_MESSAGE);

        while (note != "A" && note != "B" && note != "C" && note != "D" && note != "E" && note != "F" && note != "G") {
            JOptionPane.showMessageDialog(null, note + " is not a valid note! Try again.", "Invalid note!", JOptionPane.ERROR_MESSAGE);
            note = (String)JOptionPane.showInputDialog(null,"What note do you want to start on?",JOptionPane.PLAIN_MESSAGE);
        }
        switch(note) {
        case "A":return 1; 
        case "B":return 2;
        case "C":return 3; 
        case "D":return 4; 
        case "E":return 5; 
        case "F":return 6; 
        case "G":return 7; 
        }
        return 0;       
    }
}
罗曼·普契科夫斯基

note != "A"这不是比较字符串的正确方法。使用equals()

if (!"A".equals(node)... 

那是因为==and!=比较引用而不是对象“内容”。要按“内容”比较字符串,您需要使用equals()方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

检查java变量是否为null,如果设置为null

如何,如果检查没有发现它定位的网站开发选项的错误信息

分别检查多个值是否为空,然后显示错误信息

bash:检查变量的值是否为现有变量的名称

openlayers 检查向量是否有内容,以避免错误信息

java.lang.NullPointerException (没有错误信息) 尝试制作签名 apk 时

使用if语句检查变量是否为null会错误返回

检查变量是否为true,false,如果没有则设置为null

如何检查变量是否为空,如果为空则将其设置为零

有没有办法检查是否在Java中定义了变量?

如何使用Java中的Optional检查是否为null以及是否具有特定值?

是否有API检查列名是否为SQL关键字Java

java中是否有一个函数来检查任何json属性是否为空?

检查R数据帧中是否存在变量:是否保留值,如果未设置为NA

如何检查具有给定名称的变量是否为非本地变量?

apt-show-versions为定制的deb软件包显示错误信息

在 JavaScript 中是否有一种简单的方法来检查变量是否为数字?

ValueError:没有为任何变量提供梯度,检查你的图表是否支持梯度

需要根据变量是否为空从表中选择记录。如果为null,则检查是否等于条件

如何检查成员变量是否是Java中带有反射的Map?

使用Java正则表达式检查变量值后是否有任何标记

如何检查Java中是否存在变量?

检查Java中是否已定义变量

在Windows上的Java中检查文件是否为空的最有效方法

java-如何检查字符串是否为有效的XML元素名称?

如何在Java中检查给定的字符串是否为有效的JSON

检查 BT 是否为 BST 并带有 T 扩展 Comparable<T> java

检查变量是否为none,但如果仅一个对象/数组,则通过

Java,检查整数是否为整数