计算数字和字母

时间:2014-02-16 16:10:57

标签: java

我必须编写一个程序,必须在一个字符串中读取一组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 个答案:

答案 0 :(得分:0)

您不一定要分开数字和字母。将整个事物视为1个字符串。尝试搜索套装字母,然后打印子字符串直到该点。现在,下一个子串从最后一个子串开始。