鱼C论坛

 找回密码
 立即注册
查看: 3606|回复: 3

怎么去除对子

[复制链接]
发表于 2017-1-26 00:34:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 thyx 于 2017-1-26 00:37 编辑

我现在有一个string[] A={"1q","2w","3e","3r","5t","4y","7u","8i","8o","1p"}
排完序后得到 {"1q","1p","2w","3e","3r","4y","5t","7u","8i","8o"}
现在我用 toCharArray

  1. for(int i=0;i<A.length-1;i++){
  2.         char[] charArray = A[i].toCharArray();
  3.         System.out.println(Arrays.toString(charArray));
复制代码

结果是这个
  1. [1,q]
  2. [1,p]
  3. [2,w]
  4.   ...
  5.   ...
  6.   ...
  7.   ...
复制代码

  现在我想要把第一位数字相同的都去掉 我想过用 if(xx.charAt(0)==xx.charAt(0)),但是名字不知道,所以该怎么写。。。还有什么其他办法吗

我看到别人有用hashmap但是没学过。。。
结果应该是 A="2w","4y","5t","7u"

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-1-26 15:08:02 | 显示全部楼层

  1. import java.util.Arrays;

  2. public class test{   
  3.     /*
  4.     isEqual()这个函数是判断两个字符串中是否有相等的字符
  5.     */
  6.     public static boolean isEqual(String a,String b){
  7.         char[] char1 = a.toCharArray();
  8.         char[] char2 = b.toCharArray();
  9.         for(int i = 0;i < char1.length;i++){
  10.             for(int j = 0;j < char2.length;j++){
  11.                 if(char1[i] == char2[j]){
  12.                     return true;
  13.                 }
  14.             }
  15.         }
  16.         return false;
  17.     }   
  18.     /*
  19.     版主在这里设置了一个临时boolean型判断变量
  20.     这个变量是用来判断设置具有相同子字符的字符串为空字符串的依据
  21.     我不用很复杂的方法,用你能看得懂的方法实现,虽然效率不高
  22.     但若要效率高的,同样也能写出,不过要调用好多类
  23.     如果我这样做了,你肯定会看不懂,你自己也说了HashMap没学过
  24.     */
  25.     public static void main(String[] args){
  26.         String[] A = {"1q","2w","3e","3r","5t","4y","7u","8i","8o","1p"};
  27.         boolean TempJudge = false;
  28.         for(int i = 0;i < A.length;i++){
  29.             TempJudge = false;
  30.             for(int j = i + 1;j < A.length;j++){
  31.                 if(isEqual(A[i],A[j]) == true){
  32.                     TempJudge = true;
  33.                     A[j] = "";
  34.                 }
  35.             }
  36.             if(TempJudge){
  37.                 A[i] = "";
  38.             }
  39.         }
  40.         for(int i = 0;i < A.length;i++){
  41.             if(A[i] != ""){
  42.                 System.out.print(A[i] + " ");
  43.             }
  44.         }        
  45.     }  
  46. }
复制代码


运行截图:
test.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-1-26 15:11:11 | 显示全部楼层
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】

谢谢合作!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-1-26 15:18:46 | 显示全部楼层
同样又测试了一遍

test.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-24 03:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表