【问题标题】:Java - Error: cannot find symbol - variableJava - 错误:找不到符号 - 变量
【发布时间】:2016-08-08 08:44:00
【问题描述】:

我正在尝试在 java 上编写一个方法,该方法接受一个字符串并将第一个字符返回给 char 变量,并将字符串中的数字返回给整数变量。字符串将始终遵循一个字符和一个/两个数字的格式(例如 C25 或 C5)。它可以编译,但是当我调用该方法时出现错误:错误:找不到符号 - 变量 C5。 C5 是我输入的字符串。

    import java.lang.*;
    public class Term
{
    private char element;
    private int  atoms;

    // creates a Term with the provided values
    public Term(char element, int atoms)
    {
        this.element = element;
        this.atoms = atoms;
    }


   // creates a Term by parsing s 
   // e.g. "H20" would give element = 'H', atoms = 20 
    public Term(String s)
    {
        if (s.length() > 1) {
        int x = Integer.parseInt(s);
        char y = s.charAt(0);
        this.atoms = x;
        this.element = y;
        } else {
        this.element = s.charAt(0);
        }

    }

    // turns the Term into a String 
    // e.g. element = 'C', atoms = 4 would give "C4"
    public String display()
    {
        String rtnstr;
        rtnstr = "";
        if (atoms > 1 || atoms != 0) {
            String str1 = Character.toString(element);
            String str2 = String.valueOf(atoms);
            rtnstr = str1 + str2;
        } else if (atoms == 1) {
        rtnstr = Character.toString(element);
        } else if (atoms == 0) {
        rtnstr = "Error, zero atoms present in term.";
        }
        return rtnstr;
    }

    // returns the current value of element 
    public char getElement()
    {
        return element;
    }

    // returns the current value of atoms 
    public int getAtoms()
    {
        return atoms;
    }
}

谢谢

【问题讨论】:

  • 您提供的代码不会产生您描述的错误...请提供minimal reproducible example
  • 那仍然不是minimal reproducible example,并且不会给出您描述的错误。
  • 你是如何测试的..???
  • 这就是全部代码吗? main 方法在哪里?
  • 程序编译没有任何错误,当我在 blueJ 中创建一个新对象(使用:new Term(char element, int atom))并输入值时,我得到了这个错误。

标签: java parsing bluej


【解决方案1】:

看到格式总是一个字符和一/两个数字(例如 C25 或 C5),您可以这样做

public Term(String s) {
    this.element = s.charAt(0);
    this.atoms = Integer.parseInt(s.subString(1));
}

【讨论】:

    猜你喜欢
    • 2012-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-12
    • 2020-06-30
    • 2023-03-12
    • 2017-12-28
    相关资源
    最近更新 更多