广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 3522 个阅读者
 
<<   1   2  下页 >>(共 2 页)
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
ooxx123
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x0 鲜花 x4
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[Java] [问题]判定使用者输入的字
最近写程式的时后想要用到这种方法
可是不知道该怎么写
问到的范例是这样
String st=a. ..

访客只能看到部份内容,免费 加入会员 或由脸书 Google 可以看到全部内容



[ 此文章被ooxx123在2005-04-14 12:31重新编辑 ]


献花 x0 回到顶端 [楼 主] From:台湾数位联合 | Posted:2005-04-13 21:32 |
bombme 手机
数位造型
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x0 鲜花 x141
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

这我之前写的,用来判断使用者输入的字,不能含有键盘上的symbol
其实API里面有更好的方法可以用,只是我摸了很久还是不会用~_~"
不过这例子跟你问的是差不多的东西...希望你看的懂

这是我修改以前写的东西PO上来的,有没有错误我也不知道= =...
不过你可以试试,其他高手也可以帮忙指正唷~~ 表情 表情 表情

复制程式
/*使用者输入的字*/
         String st=a.readLine();
         boolean st=true; 
/*键盘上的symbol我一个一个列出来,which is 比较笨的方法= =",等等用来做比较要用的*/
         char[] data = {'~','`','!','@','#','$','%','^','&','*','(',')','-','_','+','=',
            '{','}','[',']','|','\\',':','','"','\'',' ','?','<','>',',','.','/'};
/*
这边我用double for loop 去检查 使用者输入的字串,这边我不太懂怎么去解释
第一个for loop不会解释= =...假设使用者输入 abcde 这个loop就会跑五次就对啦
第二个for loop是用来比对上面的symbol,他会一个一个去比对..
*/
         for(int ln=0; ln<st.length(); ln++){      
            for(int ck=0; ck<33; ck++){
               char c = data[ck];
               char l=st.charAt(ln);
               if(c==l){
                  st=false;
               } 
            }   
         }

/*
假如使用者输入的字里面没有那些symbol,列出"input correct"
不然就列出ERROR input, only A~Z, a~z or 0~9 char accepted
*/
            if(st){
               System.out.println("Input correct");   
            }
            else{
               System.out.println("ERROR input, only A~Z, a~z or 0~9 char accepted.");
            }


[ 此文章被bombme在2005-04-14 10:51重新编辑 ]


献花 x0 回到顶端 [1 楼] From:澳大利亚 | Posted:2005-04-14 01:26 |
PeterPan 手机
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖 社区建设奖
知名人士
级别: 知名人士 该用户目前不上站
推文 x1 鲜花 x99
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

试试看使用 String 的 indexOf() 这个 method,它能搜寻 String 物件中,字元或字串的位置,会回传一个 int 数值,与阵列的索引一样,传回的范围为 0~?,没找到的话会传回 -1

indexOf()是一个 overloading 的 method:
public int indexOf(char ch) 寻找字元 ch 的所在位置
public int indexOf(char ch,int fromIndex) 从 fromIndex 开始寻找字元 ch 的位置
public int indexOf(String str) 寻找字串 str 的所在位置
public int indexOf(String str,int fromIndex) 从 fromIndex 开始寻找字串 str 的位置
String class 的完整官方说明

范例一:验证字元﹝盗用 bombme 提供的原始码 表情, plz forgive me﹞复制程式
public class Test{

    public static void main(String[] args){
        String st="tests";

        boolean test=true;

        char[] data = {'~','`','!','@','#','$','%','^','&','*','(',')','-','_','+','=',
                '{','}','[',']','|','\\',':','','"','\'',' ','?','<','>',',','.','/'};


        for(int ck=0;ck<33;ck++){
            char c = data[ck];
            if(st.indexOf(c) > -1){
                test=false;
            }
        }

        if(test){
            System.out.println("Input correct");
        }
        else{
            System.out.println("ERROR input, only A~Z, a~z or 0~9 char accepted.");
        }
    }

}

范例二:验证字串复制程式
public class Test{

    public static void main(String[] args){
        String st="ABCDEFG";

        boolean test=false;

        if(st.indexOf("CDE") > -1){
            test=true;
        }

        if(test){
            System.out.println("Input correct, \"CDE\" in the String");
        }
        else{
            System.out.println("ERROR input, \"CDE\" don't in the String");
        }
    }

}


神:在多项技术领域,具有不可取代性且拥有高度权威
魔:在某项技术领域,具有不可取代性且拥有高度权威
妖:有高度实战经验,且在专业领域上具有domain-Knowledge
侠:在技术层面上有过人专业能力
人:可以独立运作、设计暨开发系统
虫:coder only (my level)
献花 x0 回到顶端 [2 楼] From:台湾数位联合 | Posted:2005-04-14 11:22 |
ooxx123
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x0 鲜花 x4
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

以下是我改两位大大的程式码成为可以输入的型态~不知是否有误= =+

两个人的一起偷~ 表情
复制程式
import java.io.*;
public class Test
{
    public static void main(String[] args)throws IOException
    {
        BufferedReader a=new BufferedReader(new InputStreamReader(System.in));

        System.out.println("请输入要判定的字元 :");

        String st=a.readLine();

        boolean test=true;

        char[] data = {'~','`','!','@','#','$','%','^','&','*','(',')','-','_','+','=',
                '{','}','[',']','|','\\',':','','"','\'',' ','?','<','>',',','.','/'};


        for(int ck=0;ck<data.length;ck++)
        {
            char c = data[ck];
            if(st.indexOf(c) > -1)
            {
                test=false;
            }
        }

        if(test)
        {
            System.out.println("Input correct");
        }
        else
        {
            System.out.println("ERROR input, only A~Z, a~z or 0~9 char accepted.");
        }
    }

}

执行之后发现,使用者不只可以输入字元,也可以输入字串,而在字串之中,只要出现符号(data中的),程式就会判定使用者所输入错误,不知是否是因为该程式的功能,是在判定使用者全部的输入有不属于"文字"的部份??表情


[ 此文章被ooxx123在2005-04-14 12:51重新编辑 ]


献花 x0 回到顶端 [3 楼] From:台湾数位联合 | Posted:2005-04-14 12:42 |
PeterPan 手机
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖 社区建设奖
知名人士
级别: 知名人士 该用户目前不上站
推文 x1 鲜花 x99
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

看不太懂你想要的功能,能否从头说明?


神:在多项技术领域,具有不可取代性且拥有高度权威
魔:在某项技术领域,具有不可取代性且拥有高度权威
妖:有高度实战经验,且在专业领域上具有domain-Knowledge
侠:在技术层面上有过人专业能力
人:可以独立运作、设计暨开发系统
虫:coder only (my level)
献花 x0 回到顶端 [4 楼] From:台湾数位联合 | Posted:2005-04-14 12:52 |
ooxx123
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x0 鲜花 x4
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

其实原本会上来问此问题的原因只是要做一个(Y/N)的选项,
希望程式可以依照使用者所输入的文字而做出不同的反应。

作文能力欠佳请见谅..."OTZ 表情


献花 x0 回到顶端 [5 楼] From:台湾数位联合 | Posted:2005-04-14 13:04 |
PeterPan 手机
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖 社区建设奖
知名人士
级别: 知名人士 该用户目前不上站
推文 x1 鲜花 x99
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

下面是引用ooxx123于2005-04-14 13:04发表的 :
其实原本会上来问此问题的原因只是要做一个(Y/N)的选项,
希望程式可以依照使用者所输入的文字而做出不同的反应。

作文能力欠佳请见谅..."OTZ 表情

原来如此,再写个判断式就可以了 表情

regards


神:在多项技术领域,具有不可取代性且拥有高度权威
魔:在某项技术领域,具有不可取代性且拥有高度权威
妖:有高度实战经验,且在专业领域上具有domain-Knowledge
侠:在技术层面上有过人专业能力
人:可以独立运作、设计暨开发系统
虫:coder only (my level)
献花 x0 回到顶端 [6 楼] From:台湾数位联合 | Posted:2005-04-14 13:20 |
唐老鸭
个人头像
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x1 鲜花 x230
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

建议一楼的大大....Character class里面有很多方法可以判断你需入的字元....像是isDigit或是isLetter等等....可以不用写这么麻烦的 表情


没东西可以抓
献花 x0 回到顶端 [7 楼] From:美国 | Posted:2005-04-14 13:22 |
ooxx123
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x0 鲜花 x4
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

我...我还是初学者...那个没听过的说= =+
所以...还在慢慢的学ING 表情


献花 x0 回到顶端 [8 楼] From:台湾数位联合 | Posted:2005-04-14 13:35 |
bombme 手机
数位造型
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x0 鲜花 x141
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

下面是引用ooxx123于2005-04-14 13:04发表的 :
其实原本会上来问此问题的原因只是要做一个(Y/N)的选项,
希望程式可以依照使用者所输入的文字而做出不同的反应。

作文能力欠佳请见谅..."OTZ 表情

如果你只是要做(Y/N)的选项的话...那就更简单啦= =
用if来判断...Y跟N以外的输入...printout 乱来XD
下面可以参考

复制程式
import java.io.*;
public class Test
{
    public static void main(String[] args)throws IOException
    {
        BufferedReader a=new BufferedReader(new InputStreamReader(System.in));
        System.out.print("请输入要判定的字元 (Y/N): ");

        String st=a.readLine(); 

        if ((st.equals ("y")) || (st.equals ("Y"))){
                System.out.println("使用者输入Y");
        }
        else if ((st.equals ("n")) || (st.equals ("N"))){
                System.out.println("使用者输入N");
        }
        else {
                System.out.println("乱来XD");
        }
    }
}



下面是引用唐老鸭于2005-04-14 13:22发表的 :
建议一楼的大大....Character class里面有很多方法可以判断你需入的字元....像是isDigit或是isLetter等等....可以不用写这么麻烦的 表情

噗噗...那个例子是比较笨的写法拉= ="
当初我也有注意到api里面有 isDigit 之类的...
由于报告一堆,没时间研究...
所以能达到教授要求的功能不要被扣分就好啦XD


[ 此文章被bombme在2005-04-14 14:34重新编辑 ]


献花 x0 回到顶端 [9 楼] From:澳大利亚 | Posted:2005-04-14 14:20 |

<<   1   2  下页 >>(共 2 页)
首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.067265 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言