【发布时间】:2014-10-06 16:00:39
【问题描述】:
我正在尝试制作一个有 10 个按钮 0-10 并且只接受 4 位数字的登录屏幕。我存储了一些名为 PIN0-PIN03 的变量,其中包含一个 int 值。我希望用户输入 4 位密码,如果它与存储在变量 PIN0-PIN03 中的值匹配,则会出现一个名称。
我已经完成了这个按钮,我只需要这个 ENTER 按钮的帮助
我用于 ENTER 按钮的代码是:
int pin = 0000;
int PIN0 = 1234; // if user enters this value the program will start executing the if statments.
int PIN1 = 2345;
int PIN2 = 3456;
int PIN3 = 4567;\\
if (pin == PIN0){
System.out.println("Hi Muhannad");
if (pin == PIN0){ // if user enters PIN0 it will display the below message
System.out.println("Hi Muhannad");
}
if( pin == PIN1){
System.out.println("Hi Mo");
}
if( pin == PIN2){
System.out.println("Hi Mahir");
}
if( pin == PIN3){
System.out.println("Hi Gawi");
}
if(pin != PIN0 || pin != PIN1 || pin != PIN2 || pin != PIN3){
System.out.println("Incorrect pin try again!"); // if user enters anything that doesn't match any of the variables values the "Incorrect pin try again" will apear.
}
我这样做对吗?
请帮助这是我在自己的时间开始的一个项目,旨在创建一个类似于银行应用程序的应用程序。
按钮代码:
private void buttonOneActionPerformed(java.awt.event.ActionEvent evt) {
if(evt.getSource() == buttonOne){
if(jTextField1.getText().length() < 4){
if(clearField == 1){
jTextField1.setText("0");
clearField = 0;
} else{
jTextField1.setText(jTextField1.getText() + "1");
}
}
}
}
private void buttonTwoActionPerformed(java.awt.event.ActionEvent evt) {
if(evt.getSource() == buttonTwo){
if(jTextField1.getText().length() < 4){
if(clearField == 1){
jTextField1.setText("2");
clearField = 0;
} else{
jTextField1.setText(jTextField1.getText() + "2");
}
}
}
}
private void buttonThreeActionPerformed(java.awt.event.ActionEvent evt) {
if(evt.getSource() == buttonThree){
if(jTextField1.getText().length() < 4){
if(clearField == 1){
jTextField1.setText("3");
clearField = 0;
} else{
jTextField1.setText(jTextField1.getText() + "3");
}
}
}
}
private void buttonFourActionPerformed(java.awt.event.ActionEvent evt) {
if(evt.getSource() == buttonFour){
if(jTextField1.getText().length() < 4){
if(clearField == 1){
jTextField1.setText("4");
clearField = 0;
} else{
jTextField1.setText(jTextField1.getText() + "4");
}
}
}
}
private void buttonFiveActionPerformed(java.awt.event.ActionEvent evt) {
if(evt.getSource() == buttonFive){
if(jTextField1.getText().length() < 4){
if(clearField == 1){
jTextField1.setText("5");
clearField = 0;
} else{
jTextField1.setText(jTextField1.getText() + "5");
}
}
}
}
private void buttonSixActionPerformed(java.awt.event.ActionEvent evt) {
if(evt.getSource() == buttonSix){
if(jTextField1.getText().length() < 4){
if(clearField == 1){
jTextField1.setText("6");
clearField = 0;
} else{
jTextField1.setText(jTextField1.getText() + "6");
}
}
}// TODO add your handling code here:
}
private void buttonSevenActionPerformed(java.awt.event.ActionEvent evt) {
if(evt.getSource() == buttonSeven){
if(jTextField1.getText().length() < 4){
if(clearField == 1){
jTextField1.setText("7");
clearField = 0;
} else{
jTextField1.setText(jTextField1.getText() + "7");
}
}
}
}
private void buttonEightActionPerformed(java.awt.event.ActionEvent evt) {
if(evt.getSource() == buttonEight){
if(jTextField1.getText().length() < 4){
if(clearField == 1){
jTextField1.setText("8");
clearField = 0;
} else{
jTextField1.setText(jTextField1.getText() + "8");
}
}
}
}
private void buttonNineActionPerformed(java.awt.event.ActionEvent evt) {
if(evt.getSource() == buttonNine){
if(jTextField1.getText().length() < 4){
if(clearField == 1){
jTextField1.setText("9");
clearField = 0;
} else{
jTextField1.setText(jTextField1.getText() + "9");
}
}
}
}
private void buttonZeroActionPerformed(java.awt.event.ActionEvent evt) {
if(evt.getSource() == buttonZero){
if(jTextField1.getText().length() < 4){
if(clearField == 1){
jTextField1.setText("0");
clearField = 0;
} else{
jTextField1.setText(jTextField1.getText() + "0");
}
}
}
【问题讨论】:
-
那么当用户在键盘上按下回车键时,您希望它运行这段代码吗?
-
虽然与您的问题无关,但您的最后一个 if 语句包含一个小错误。它应该是 pin != PIN1
-
@DreadHeadedDeveloper 是的,我希望它能够做到这一点,但是当我运行代码时,即使我输入了正确的引脚号,我仍然会收到“不正确的引脚再试一次”。为什么我一定做错了什么。
-
@MrHug 感谢您指出这一点!我完全错过了
-
啊,那么在这种情况下,展示您的代码如何处理输入,用户在哪里输入他们的输入?这就是我们解决这个问题所需要的代码