我试图在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;
}
}
由于
答案 0 :(得分:0)
看到格式总是一个字符和一个/两个数字(例如C25或C5),你可以这样做
public Term(String s) {
this.element = s.charAt(0);
this.atoms = Integer.parseInt(s.subString(1));
}