2014-02-16 3 views
-3

Мне нужно написать программу, которая должна прочитать набор из 13 карт в строке с входами, такими как C3567JD798S4H687 (C для клубов, D для бриллиантов, S для пик, H для сердец) и выход необходимо отделить каждый костюм на другой линии, так что на одной линии у вас будет C3567J, а на следующем вы будете иметь D798 и т. д.Подсчет чисел и букв

Я не очень уверен в том, как программа распознает конец костюма, например, когда чтобы начать новый отсчет, когда он читает D или S.

До сих пор я только выяснил, как отделять буквы и цифры, которые, как я думал, станут первым шагом.

Вот мой код:

import java.io.* ; 
public class Cards 
{ 

    public static void main (String[] args) throws IOException 
    { 
     BufferedReader objReader = new BufferedReader (new InputStreamReader (System.in)); 


    System.out.print("Enter cards:"); 
    String cards = objReader.readLine(); 

      Test obj = new Test (cards); 
      String gC = obj.GetCards(); 
      String gN = obj.GetNumber(); 

    System.out.println("Letters" + suitC); 
    System.out.println("Numbers" + numbers); 
    } 
} 
class Test 
    { 
    private String suitC = ""; 
    private String numbers = ""; 

    Test (String sC, String n) 
    { 
     suitC = sC; 
     numbers = n; 
    } 
    private void Separation(String s) 
    { 
     for (int i = 0; i < s.length(); i++) 
     { 
     char a = s.charAt(i); 
     if (Character.isDigit(a)) 
     { 
      suitC = suitC + a; 
     } 
     else 
     { 
      numbers = numbers + a; 
     } 
     } 
    } 

    String GetSuitC() 
    { 
     return suitC; 
    } 
    String GetNumber() 
    { 
     return numbers; 
    } 
    } 
+1

У вашего сообщения нет конкретного вопроса. – Smutje

+0

Он даже не компилируется. – qqilihq

ответ

0

Вы не обязательно должны разделять цифры и буквы. Рассматривайте все как 1 строку. Попробуйте найти письмо-костюм, затем распечатайте подстроку до этой точки. Теперь начинается следующая подстрока, где заканчивается последняя.

Смежные вопросы