我必须编写一个程序,必须在一个字符串中读取一组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;
}
}
答案 0 :(得分:0)
您不一定要分开数字和字母。将整个事物视为1个字符串。尝试搜索套装字母,然后打印子字符串直到该点。现在,下一个子串从最后一个子串开始。