三个框框的EditBox

一、程序要求

  EditBox 同时允许输入三个1到6个英文字符或数字,点击确定结束。

二、有效等价类和无效等价类划分


有效等价类


无效等价类


E1:长度:1到6


T1:长度:0或者>=7


E2:字符:a-z,A-Z,0-9


T2:字符:英文、数字以外字符,控制字符,标点符号,如/ . ,等标点符号

三、测试用例设计,根据有效和无效等价类可以设计出6个测试用例

编码 第一个框输入 第二个框输入 第三个框输入 结果
1 (空) (空) (空) 输入格式都不正确
2 123 asd 123asd 输入正确
3 1234567 asd 123asd 第一个输入格式不正确
4 123456 12345asd asdf 第二个输入格式不正确
5 asdfg 123asd zxcv。, 第三个输入格式不正确
6 asd 1234567 123asdfg 只有第一个输入正确

四、程序代码:使用JavaFx实现

  1 import javafx.application.Application;
  2 import javafx.event.ActionEvent;
  3 import javafx.event.EventHandler;
  4 import javafx.scene.Scene;
  5 import javafx.scene.control.Button;
  6 import javafx.scene.control.TextField;
  7 import javafx.scene.layout.AnchorPane;
  8 import javafx.scene.text.Text;
  9 import javafx.stage.Stage;
 10
 11
 12 public class EditBox extends Application{
 13     public static void main(String arg0[]){
 14         Testtest.launch(arg0);
 15     }
 16     public void start(Stage stage) throws Exception {
 17         stage.setTitle("EditBox");
 18         AnchorPane root = new AnchorPane();
 19         Scene scene = new Scene (root,500,400);
 20
 21         Text text = new Text("请输入字符串:");
 22         AnchorPane.setLeftAnchor(text, 150.0);
 23         AnchorPane.setTopAnchor(text,50.0);
 24
 25         final TextField input1 = new TextField();
 26         final TextField input2 = new TextField();
 27         final TextField input3 = new TextField();
 28         AnchorPane.setLeftAnchor(input1,150.0);
 29         AnchorPane.setLeftAnchor(input2,150.0);
 30         AnchorPane.setLeftAnchor(input3,150.0);
 31         AnchorPane.setTopAnchor(input1,100.0);
 32         AnchorPane.setTopAnchor(input2,150.0);
 33         AnchorPane.setTopAnchor(input3,200.0);
 34
 35         Button check = new Button();
 36         check.setText("确定");
 37         AnchorPane.setLeftAnchor(check, 150.0);
 38         AnchorPane.setTopAnchor(check, 250.0);
 39
 40         check.setOnAction(new EventHandler<ActionEvent>(){
 41
 42             @Override
 43             public void handle(ActionEvent arg0) {
 44                 if(stringCheck(input1.getText().toString())&&
 45                         stringCheck(input2.getText().toString())&&stringCheck(input3.getText().toString())){
 46                     Stage correct = new Stage();
 47                     AnchorPane correctroot = new AnchorPane();
 48                     Text correctText = new Text("输入正确");
 49                     AnchorPane.setLeftAnchor(correctText, 80.0);
 50                     AnchorPane.setTopAnchor(correctText, 40.0);
 51                     correctroot.getChildren().add(correctText);
 52                     Scene scene2 = new Scene (correctroot,200,100);
 53                     correct.setScene(scene2);
 54                     correct.show();
 55                 }
 56                 else if(!(stringCheck(input1.getText().toString())&&
 57                         stringCheck(input2.getText().toString())&&stringCheck(input3.getText().toString()))){
 58                     Stage result = new Stage();
 59                     AnchorPane error = new AnchorPane();
 60                     if(stringCheck(input1.getText().toString())&&stringCheck(input2.getText().toString())){
 61                         Text correctText = new Text("第三个输入格式不正确");
 62                         AnchorPane.setLeftAnchor(correctText, 30.0);
 63                         AnchorPane.setTopAnchor(correctText, 30.0);
 64                         error.getChildren().add(correctText);
 65                     }
 66                     else if(stringCheck(input2.getText().toString())&&stringCheck(input3.getText().toString())){
 67                         Text correctText = new Text("第一个输入格式不正确");
 68                         AnchorPane.setLeftAnchor(correctText, 30.0);
 69                         AnchorPane.setTopAnchor(correctText, 30.0);
 70                         error.getChildren().add(correctText);
 71                     }
 72                     else if(stringCheck(input1.getText().toString())&&stringCheck(input3.getText().toString())){
 73                         Text correctText = new Text("第2个输入格式不正确");
 74                         AnchorPane.setLeftAnchor(correctText, 30.0);
 75                         AnchorPane.setTopAnchor(correctText, 30.0);
 76                         error.getChildren().add(correctText);
 77                     }
 78                     else if(stringCheck(input1.getText().toString())){
 79                         Text correctText = new Text("只有第1个输入格式正确");
 80                         AnchorPane.setLeftAnchor(correctText, 30.0);
 81                         AnchorPane.setTopAnchor(correctText, 30.0);
 82                         error.getChildren().add(correctText);
 83                     }
 84                     else if(stringCheck(input2.getText().toString())){
 85                         Text correctText = new Text("只有第2个输入格式正确");
 86                         AnchorPane.setLeftAnchor(correctText, 30.0);
 87                         AnchorPane.setTopAnchor(correctText, 30.0);
 88                         error.getChildren().add(correctText);
 89                     }
 90                     else if(stringCheck(input3.getText().toString())){
 91                         Text correctText = new Text("只有第3个输入格式正确");
 92                         AnchorPane.setLeftAnchor(correctText, 30.0);
 93                         AnchorPane.setTopAnchor(correctText, 30.0);
 94                         error.getChildren().add(correctText);
 95                     }
 96                     else{
 97                         Text correctText = new Text("输入格式都不正确");
 98                         AnchorPane.setLeftAnchor(correctText, 30.0);
 99                         AnchorPane.setTopAnchor(correctText, 30.0);
100                         error.getChildren().add(correctText);
101                     }
102                     Scene scene2 = new Scene (error,200,100);
103                     result.setScene(scene2);
104                     result.show();
105                 }
106             }
107
108         });
109
110         root.getChildren().addAll(text,input1,input2,input3,check);
111         stage.setScene(scene);
112         stage.show();
113     }
114     public boolean stringCheck(String ch){
115         if(ch.length()==0 || ch.length()>6){
116             return false;
117         }
118         char arr[] = new char[ch.length()];
119         arr = ch.toCharArray();
120         for(int i=0;i<ch.length();i++){
121             if((arr[i] >= ‘a‘ && arr[i] <= ‘z‘)||(arr[i] >= ‘A‘ && arr[i] <= ‘Z‘)||(arr[i] >= ‘0‘ && arr[i] <= ‘9‘));
122             else{
123                 return false;
124                 }
125         }
126         return true;
127     }
128
129 }

五、程序截图

时间: 2024-08-12 02:53:39

三个框框的EditBox的相关文章

Pythonic论坛怪怪的’居民’显示[已解决]

之前使用Pythonic搭建的论坛people界面显示有点问题 第一个用户不显示,问了下作者,作者回复说这个Link只有~/people/而没有用户名 就点到为止了. 按说我使用syncdb同步时注册的管理员应该显示在最前面的.但是却不是这样.前段时间也挺忙的,就先放一放了. ------ 今天继续顺着url读源码.people的view还有people_list模板还是挺易读的,似乎没有什么问题. 于是想看看数据库中的用户是什么样子的. 这CMD的显示我也是醉了…上网找了一圈,发现个Navic

M?a?y?a? ?2?0?1?2? ?破?解?安?装?全?图?文?教?程

在学习U3D的过程中,我们要用到Maya这个工具,(当然你也可以用其他类似的), 我在安装破解 Maya 2012 的过程当中,走了一些弯路,通过搜索发现,网上关于Maya 破解的文章大多语焉不详,为了让网上用此软件的朋友避免多走弯路,特此将我安装破解 Maya 2012 的全过程截屏下来,以便对网友有所帮助. 下载完成后,会出现这个画面: 单击 Install 开始安装.过程有点慢哦. 不用犹豫了,当然是 I Accept.下一步继续. 打开图一所示的 Crack 文件夹,打开 install

WeChat SDK

<1>微信SDK及平台搭建 微信开放平台 https://open.weixin.qq.com/ 登陆账号 [email protected] 资源中心 中学习如何使用. <2>下载WeChat_sample, 导入Eclipse, 在直接运行之前需要设置如下 找到sample里面的debug.keystore. 然后运行, 妹的, 运行无效果, 自己写吧~ <3>发送请求或响应到微信 首先在微信开放平台的管理中心中, 创建一个移动应用 在Eclipse中新建一个项目,

移动App入侵与逆向破解技术-iOS篇

如果您有耐心看完这篇文章,您将懂得如何着手进行app的分析.追踪.注入等实用的破解技术,另外,通过"入侵",将帮助您理解如何规避常见的安全漏洞,文章大纲: 简单介绍ios二进制文件结构与入侵的原理 介绍入侵常用的工具和方法,包括pc端和手机端 讲解黑客技术中的静态分析和动态分析法 通过一个简单的实例,来介绍如何综合运用砸壳.寻找注入点.lldb远程调试.追踪.反汇编技术来进行黑客实战 讲解越狱破解补丁和不需越狱的破解补丁制作方法和差别 黑客的素养 敏锐的嗅觉 有时候通过一个函数名,一个

I am back-电商网站开发&amp;jQuery

hi 之前有将近两周的时间没有更新,除了懒就是其他的事情耽误了.现在好了,回家了,虽然家里停水,外面又有积雪,天寒地冻的,但诸多不便,都比不过有点闲的好. 开搞每个学PHP的必经之路——电商网站的开发. 1.电商网站开发——前端 一.首页制作 1.1 概况&准备 整个电商网站包括什么呢,就是首页信息,后面的分类信息页,商品详情页,购物页面,售后页面等等,所以就一步步做.自己做的时候可以简单的画个概况图来指导开发,免得逻辑搞混. 准备:项目文件夹,其中要有images(图片素材),js(javas

细说MVC框架的几大困惑:

--千万不要为了学习框架而学习框架,而是要为了解决问题而学习框架,这才是一个程序员的正确学习之道. --框架是为了解决一个又一个在Web开发中所遇到的问题而诞生的.不同的框架,都是为了解决不同的问题,但是对于程序员而言,他们只是jar包而已.框架的优缺点的评论,也完全取决于其对问题解决程度和解决方式的优雅性的评论.所以,千万不要为了学习框架而学习框架,而是要为了解决问题而学习框架,这才是一个程序员的正确学习之道. 现在许许多多的初学者和程序员,都在趋之若鹜地学习Web开发的宝典级框架:Strut

【腾讯Bugly干货分享】移动App入侵与逆向破解技术-iOS篇

本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/577e0acc896e9ebb6865f321 如果您有耐心看完这篇文章,您将懂得如何着手进行app的分析.追踪.注入等实用的破解技术,另外,通过"入侵",将帮助您理解如何规避常见的安全漏洞,文章大纲: 简单介绍ios二进制文件结构与入侵的原理 介绍入侵常用的工具和方法,包括pc端和手机端 讲解黑客技术中的静态分析和动态分析法 通过一个简单的实例,来介绍如何综合运用砸

深入浅出Java三大框架SSH与MVC的设计模式

现在许许多多的初学者和程序员,都在趋之若鹜地学习Web开发的宝典级框架:Struts2,Spring,Hibernate.似乎这些框架成为了一个人是否精通Java,是否会写J2EE程序的唯一事实标准和找工作的必备基础. 然而,如果在面试的时候问这些程序员,你们为什么要学习这些框架?这些框架的本质到底是什么?似乎很少很少有人能够给我非常满意的答复.因为他们都在为了学习而学习,为了工作而学习,而不是在真正去深入了解一个框架.其实所有的人都应该思考这样的问题:为什么要学习框架?框架到底给我带来了什么?

重装Windows系统

话不多说,本教程将带你征服Windows系统「当然是安装,包括但不限于Windows7.8.9.10.J.Q.K-」 多图,慎入!!! 多图,慎入!!! 多图,慎入!!! 1. 准备 查看主板是否支持UEFI 查看磁盘是MBR还是GPT 如果想装Win7,就要准备好驱动精灵万能网卡版,Win10可以省略这步 「因为,Win7并不自带驱动.没有驱动就上不了网,没有网电脑就失去了意义.而驱动精灵万能网卡版能使你的电脑在重装Win7后可以连上网,连上网后就可以下载其他的驱动了」 正版用户请准备好你的码