关于数字和字母的边界问题,请指点 谢谢

人生万事须自为,跬步江山即寥廓。
全栈领域优质创作者
2014-12-31 04:32:31
import java.util.*;

public class Subset{
public static void main(String[] arg){
TreeSet<String> ts = new TreeSet<String>();
SortedSet<String> ss=ts.subSet("5","c");
ss.add("d");
}
}


在方法subSet("5","c");中大于5, 不能比字母c大 不知道是如何定义的这种范围.
...全文
282 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
是从6到99之间的所有数字吗 谢谢各位
  • 打赏
  • 举报
回复
谢谢3楼和4楼, 不过好像还不太完美. 字符是说清楚了 可是数字呐, 都包含的数字序列是?
guest6379 2015-01-01
  • 打赏
  • 举报
回复
引用 8 楼 u013558123 的回复:
import java.util.*; public class Subset{ public static void main(String[] arg){ TreeSet<String> ts = new TreeSet<String>(); SortedSet<String> ss=<span style="color: rgb(255, 0, 0);">ts.subSet("5","c"); </span> ss.add("40"); } } ss.add("40");这样的话, 这一句能运行吗
运行不了的,SortedSet的add加入不合法范围item会抛异常。 但是用TreeSet的add方法加入不合法范围的item,不会跑异常,但不会加入。 看9楼的例子,有说明的。
guest6379 2015-01-01
  • 打赏
  • 举报
回复
引用 6 楼 u013558123 的回复:
是从6到99之间的所有数字吗 谢谢各位
一个是范围是字符的范围,一个范围是Integer范围,希望有所帮助

import java.util.SortedSet;
import java.util.TreeSet;


public class Demo{
    public static void main(String[] arg){
        TreeSet<String> ts1 = new TreeSet<String>();
        SortedSet<String> ss1 = ts1.subSet("5", "c");
        ts1.add("6");
        ts1.add("4"); // 不会抛出异常,但是"4"不会被加入
        // ss1.add("10"); // 这里会原有异常,key out of range,因为"10"不包含在这个范围
        System.out.println(ss1);
        
        
        TreeSet<Integer> ts2 = new TreeSet<Integer>();
        SortedSet<Integer> ss2 = ts2.subSet(6, 99);
        ts2.add(6);
        ts2.add(98);
        ts2.add(4); // 不会抛出异常,但是4不会被加入
        // ss2.add(100); // 这里会原有异常,key out of range,因为100不包含在这个范围
        System.out.println(ss2);
    }
}
  • 打赏
  • 举报
回复
import java.util.*; public class Subset{ public static void main(String[] arg){ TreeSet<String> ts = new TreeSet<String>(); SortedSet<String> ss=<span style="color: rgb(255, 0, 0);">ts.subSet("5","c"); </span> ss.add("40"); } } ss.add("40");这样的话, 这一句能运行吗
guest6379 2015-01-01
  • 打赏
  • 举报
回复
引用 6 楼 u013558123 的回复:
是从6到99之间的所有数字吗 谢谢各位
没有你认为的int类型的数字,都是char类型的字符, ASCII Code: [53] 对应字符-> 5 ASCII Code: [54] 对应字符-> 6 ASCII Code: [55] 对应字符-> 7 ASCII Code: [56] 对应字符-> 8 ASCII Code: [57] 对应字符-> 9 subSet("5", "c") 范围中,包含的全是字符,其中6,7,8,9都是字符,不是你想象的数字!!!
翱翔天地 2014-12-31
  • 打赏
  • 举报
回复
AsciiValue.java:
/**
 * 
 */
package com.you.action;

import java.io.IOException;

/**
 * @author 
 *
 */
public class AsciiValue 
{
	 /**
	  * 
	  * @param start
	  * @param end
	  * @return
	  */
     public static String findAscii(char start,char end)
     {
    	 int startChar = (int)start;
    	 int endChar = (int)end;
    	 StringBuilder sql = new StringBuilder();
    	 for(int i=startChar+1;i<=endChar;i++)
    	 {
    		 sql.append("第"+i+"个是:"+i+"  对应ACSII中的是:"+ i + "  对应的字符是:"+(char)i+"\n");
    	 }
    	 return sql.toString();
     }
     
     /**
      * 
      * @param args
      * @throws IOException
      */
     public static void main(String[] args) throws IOException
     {
    	 String ascii = findAscii('5', 'c');
    	 System.out.println(ascii);
     }
}
大于字符5,小于等于字符c的ASCII结果:
第54个是:54  对应ACSII中的是:54  对应的字符是:6
第55个是:55  对应ACSII中的是:55  对应的字符是:7
第56个是:56  对应ACSII中的是:56  对应的字符是:8
第57个是:57  对应ACSII中的是:57  对应的字符是:9
第58个是:58  对应ACSII中的是:58  对应的字符是::
第59个是:59  对应ACSII中的是:59  对应的字符是:;
第60个是:60  对应ACSII中的是:60  对应的字符是:<
第61个是:61  对应ACSII中的是:61  对应的字符是:=
第62个是:62  对应ACSII中的是:62  对应的字符是:>
第63个是:63  对应ACSII中的是:63  对应的字符是:?
第64个是:64  对应ACSII中的是:64  对应的字符是:@
第65个是:65  对应ACSII中的是:65  对应的字符是:A
第66个是:66  对应ACSII中的是:66  对应的字符是:B
第67个是:67  对应ACSII中的是:67  对应的字符是:C
第68个是:68  对应ACSII中的是:68  对应的字符是:D
第69个是:69  对应ACSII中的是:69  对应的字符是:E
第70个是:70  对应ACSII中的是:70  对应的字符是:F
第71个是:71  对应ACSII中的是:71  对应的字符是:G
第72个是:72  对应ACSII中的是:72  对应的字符是:H
第73个是:73  对应ACSII中的是:73  对应的字符是:I
第74个是:74  对应ACSII中的是:74  对应的字符是:J
第75个是:75  对应ACSII中的是:75  对应的字符是:K
第76个是:76  对应ACSII中的是:76  对应的字符是:L
第77个是:77  对应ACSII中的是:77  对应的字符是:M
第78个是:78  对应ACSII中的是:78  对应的字符是:N
第79个是:79  对应ACSII中的是:79  对应的字符是:O
第80个是:80  对应ACSII中的是:80  对应的字符是:P
第81个是:81  对应ACSII中的是:81  对应的字符是:Q
第82个是:82  对应ACSII中的是:82  对应的字符是:R
第83个是:83  对应ACSII中的是:83  对应的字符是:S
第84个是:84  对应ACSII中的是:84  对应的字符是:T
第85个是:85  对应ACSII中的是:85  对应的字符是:U
第86个是:86  对应ACSII中的是:86  对应的字符是:V
第87个是:87  对应ACSII中的是:87  对应的字符是:W
第88个是:88  对应ACSII中的是:88  对应的字符是:X
第89个是:89  对应ACSII中的是:89  对应的字符是:Y
第90个是:90  对应ACSII中的是:90  对应的字符是:Z
第91个是:91  对应ACSII中的是:91  对应的字符是:[
第92个是:92  对应ACSII中的是:92  对应的字符是:\
第93个是:93  对应ACSII中的是:93  对应的字符是:]
第94个是:94  对应ACSII中的是:94  对应的字符是:^
第95个是:95  对应ACSII中的是:95  对应的字符是:_
第96个是:96  对应ACSII中的是:96  对应的字符是:`
第97个是:97  对应ACSII中的是:97  对应的字符是:a
第98个是:98  对应ACSII中的是:98  对应的字符是:b
第99个是:99  对应ACSII中的是:99  对应的字符是:c
guest6379 2014-12-31
  • 打赏
  • 举报
回复
可以自己打出来看,对应的字符
public class Demo{
    public static void main(String[] arg){
        for(int i=(int)'5';i<=(int)'c';i++){
            System.out.printf(String.format("ASCII Code: [%d]  对应字符-> %c %n", 
                    i, (char)i));
        }
    }
}

ASCII Code: [53]  对应字符-> 5 
ASCII Code: [54]  对应字符-> 6 
ASCII Code: [55]  对应字符-> 7 
ASCII Code: [56]  对应字符-> 8 
ASCII Code: [57]  对应字符-> 9 
ASCII Code: [58]  对应字符-> : 
ASCII Code: [59]  对应字符-> ; 
ASCII Code: [60]  对应字符-> < 
ASCII Code: [61]  对应字符-> = 
ASCII Code: [62]  对应字符-> > 
ASCII Code: [63]  对应字符-> ? 
ASCII Code: [64]  对应字符-> @ 
ASCII Code: [65]  对应字符-> A 
ASCII Code: [66]  对应字符-> B 
ASCII Code: [67]  对应字符-> C 
ASCII Code: [68]  对应字符-> D 
ASCII Code: [69]  对应字符-> E 
ASCII Code: [70]  对应字符-> F 
ASCII Code: [71]  对应字符-> G 
ASCII Code: [72]  对应字符-> H 
ASCII Code: [73]  对应字符-> I 
ASCII Code: [74]  对应字符-> J 
ASCII Code: [75]  对应字符-> K 
ASCII Code: [76]  对应字符-> L 
ASCII Code: [77]  对应字符-> M 
ASCII Code: [78]  对应字符-> N 
ASCII Code: [79]  对应字符-> O 
ASCII Code: [80]  对应字符-> P 
ASCII Code: [81]  对应字符-> Q 
ASCII Code: [82]  对应字符-> R 
ASCII Code: [83]  对应字符-> S 
ASCII Code: [84]  对应字符-> T 
ASCII Code: [85]  对应字符-> U 
ASCII Code: [86]  对应字符-> V 
ASCII Code: [87]  对应字符-> W 
ASCII Code: [88]  对应字符-> X 
ASCII Code: [89]  对应字符-> Y 
ASCII Code: [90]  对应字符-> Z 
ASCII Code: [91]  对应字符-> [ 
ASCII Code: [92]  对应字符-> \ 
ASCII Code: [93]  对应字符-> ] 
ASCII Code: [94]  对应字符-> ^ 
ASCII Code: [95]  对应字符-> _ 
ASCII Code: [96]  对应字符-> ` 
ASCII Code: [97]  对应字符-> a 
ASCII Code: [98]  对应字符-> b 
ASCII Code: [99]  对应字符-> c 
  • 打赏
  • 举报
回复
对不起, 我没有说清楚, 我的意思是从5 到c ,包含什么. 我想知道包含的所有的数字和字母 谢谢
tony4geek 2014-12-31
  • 打赏
  • 举报
回复

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧