2016-04-16 21 views
0

Ich versuche, eine Methode für Java schreiben, die eine Zeichenfolge und gibt das erste Zeichen an eine Variable char und die Zahlen i die Zeichenfolge an eine ganze Zahl zurück. Die Strings folgen immer dem Format eines Zeichens und einer/zwei Ziffern (zB C25 oder C5). Es kompiliert, aber wenn ich die Methode aufrufen, bekomme ich den Fehler: Fehler: kann Symbol - Variable C5 nicht finden. C5 ist die Zeichenfolge, die ich eingegeben habe.Java - Fehler: kann Symbol - Variable nicht finden

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; 
    } 
} 

Dank

+1

Der Code tun kann‘ t erstellen Sie den Fehler, den Sie beschrieben haben ... stellen Sie bitte einen [mcve] zur Verfügung. –

+0

Das ist immer noch kein [mcve], und wird nicht den Fehler geben, den Sie beschrieben haben. –

+0

Wie testen Sie das .. ??? –

Antwort

0

Sehen, dass das Format immer ein Zeichen sein und ein/zwei Zahlen (zB C25 oder C5) Sie das Sie wouldn zur Verfügung gestellt haben

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