这是一道扑克牌比较大小的题
我第一次 就是列所有情况,然后根据测试用例 在不断改了几回
觉得太繁琐 去搜寻答案发现大多有我还没学到的数据结构
直到看到另一个方法
其实 题很简单
方法也很简单 话不多说 直接看代码,和我发现的几处注意事项吧
第一次代码
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
String[] a = input.split("-");
String a1 = a[0].replace(" ","");
String a2 = a[1].replace(" ","");
String s = equalNum(a1,a2,a[0],a[1]);
System.out.println(s);
}
private static String equalNum(String a1, String a2,String a, String b) {
String s = "ERROR";
if(a1.equals("10") && a2.length()==2 || a1.length()==2 && a2.equals("10")){
return s;
}
if(a1.equals("10")){
if(a2.length()==1 && a2.charAt(0) >= 'A' || a2.equals("2")){
return b;
}
if(a2.length()==1 && a2.charAt(0) <= '9'){
return a;
}
}
if(a2.equals("10")){
if(a1.length()==1 && a1.charAt(0) >= 'A' || a1.equals("2")){
return a;
}
if(a1.length()==1 && a1.charAt(0) <= '9'){
return b;
}
}
// //单张
// if(a1.length() == 1 && a2.length() == 1){
// if(a1.equals("2")){
// return a1;
// }else if(a2.equals("2")){
// return a2;
// }else{
// if(a1.charAt(0) > a2.charAt(0)){
// return a1;
// }
// return a2;
// }
// }else if(a1.length()==1 && a2.length()==4||(a2.length()==5&&a2.charAt(0)=='j'||a2.charAt(0)=='J')){
// return a2;
// }else if(a2.length()==1 && a1.length()==4||(a1.length()==5&&a1.charAt(0)=='j'||a1.charAt(0)=='J')){
// return a1;
// }else{
// return s;
// }
// //对子
//长度相等
if (a1.length()==1 && a2.length()==5 && a2.charAt(0)=='j'|| a2.charAt(0)=='J'){
return b;
} else if(a2.length()==1 && a1.length()==5 && a1.charAt(0)=='j'|| a1.charAt(0)=='J'){
return a;
} else if(a1.length()==5 && a2.length()==5 && a2.charAt(0)=='j'|| a2.charAt(0)=='J'){
return s;
} else if(a2.length()==5 && a1.length()==5 && a1.charAt(0)=='j'|| a1.charAt(0)=='J'){
return s;
} else if(a1.length() == a2.length()){
if (a1.charAt(0) == '2'){
return a;
} else if(a2.charAt(0) == '2'){
return b;
} else{
if(a1.charAt(0) > a2.charAt(0)){
return a;
}
return b;
}
//长度不相等 但有王/弹
}else if(a1.length()==10 || a2.length()==10 || a1.length()==4 || a2.length()==4 || a1.length()==8 || a2.length()==8){
if(a1.length()==10){
return a;
}
if(a2.length()==10){
return b;
}
if(a1.length()==8 && a2.charAt(0) >= 'A' || a2.charAt(0) == '2'){
return b;
}
if(a1.length()==8 && a2.charAt(0) <= '9'){
return a;
}
if(a2.length()==8 && a1.charAt(0) >= 'A' || a1.charAt(0) == '2'){
return a;
}
if(a2.length()==8 && a1.charAt(0) <= '9'){
return b;
}
if(a1.length()==4){
return a;
}
return b;
} else if(a1.length()==6 && a2.length()==3){
if(a2.charAt(0) >= 'A' || a2.charAt(0) == '2'){
return b;
}
return a;
}
else if(a2.length()==6 && a1.length()==3){
if(a1.charAt(0) >= 'A' || a1.charAt(0) == '2'){
return a;
}
return b;
}
else if(a1.length()==6 && a2.length()==5){
return a;
} else if(a2.length()==6 && a1.length()==5){
return b;
} else{
return s;
}
}
}
第二次
import java.util.Scanner;
public class Main1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine();
String[] p = s.split("-");
String pp = "34567891JQKA2";
String p1 = p[0].replace(" ","");
String p2 = p[1].replace(" ","");
if(p[0].equals("joker JOKER") || p[1].equals("joker JOKER")) {
System.out.println("joker JOKER");
}else if(p1.length()==p2.length()) {
if(pp.indexOf(p1.charAt(0))>pp.indexOf(p2.charAt(0))){
System.out.println(p[0]);
}else{
System.out.println(p[1]);
}
}else if(p1.length()==4) {
System.out.println(p[0]);
}else if(p2.length()==4){
System.out.println(p[1]);
}else{
System.out.println("ERROR");
}
}
}
这个代码跑不过的 为什么跑不过 你可以思考一下 跑一下也行
第三次
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//String str = sc.nextLine();
String str = "A-10";
String[] pp = str.split("-");
String[] p1 = pp[0].split(" ");
String[] p2 = pp[1].split(" ");
String p = "34567891JQKA2";
if (pp[0].equals("joker JOKER") || pp[1].equals("joker JOKER")) {
System.out.println("joker JOKER");
} else if (p1.length == p2.length) {
if (p.indexOf(p1[0].substring(0, 1)) > p.indexOf(p2[0].substring(0, 1))) {
System.out.println(pp[0]);
} else {
System.out.println(pp[1]);
}
} else if (p1.length == 4) {
System.out.println(pp[0]);
} else if (p2.length == 4) {
System.out.println(pp[1]);
} else {
System.out.println("ERROR");
}
}
}
冲啊!!!努力学习
昨天我和我哥哥说我被我朋友们卷到了, 我哥然后开始卷我......真是一个悲桑的故事
咱们直接特效秃头大动作好叭~~~~