java初学者的问题,如何if套if
问题是这样,需要编写一个可键盘输入的会员信息系统,会员帐号必须是4位,如果输入的不是4位数,系统就要出现会员号输入错误,请重新输入,如果会员号输入的是4位数,就会随机抽奖...
问题是这样,需要编写一个可键盘输入的会员信息系统,会员帐号必须是4位,如果输入的不是4位数,系统就要出现会员号输入错误,请重新输入,如果会员号输入的是4位数,就会随机抽奖,抽出的号码和会员号百位数一样就中奖 ,否则不中奖。
现在的问题是这样的,如果我第一个if判定会员输入4位数正确,就会触发下一个if,判定是否中奖,现在我出现的问题就是无法if套if,想问问如何解决,各位大神帮帮我,我是初学,不知道去哪找答案,还有能顺道推荐一个比较好的JAVA学习网站最好。多谢
代码如下,是错误的,求正确代码
import java.util.Scanner;
public class huiyanxinxi {
public static void main(String args[]) {
System.out.println("我行我素购物管理系统>客户信息管理>添加客户信息");
System.out.println("\n\n\n请输入会员号(4位整数):");
Scanner in=new Scanner(System.in);
int num1=in.nextInt();
System.out.println("请输入 会员生日(月/日)");
String shengri=in.next();
System.out.println("请输入积分:");
int num2=in.nextInt();
if(num1>=1000&&num1<=9999){
System.out.println("已录入会员信息为:");
System.out.println("会员号:"+num1+"\t会员生日:"+shengri+"\t会员积分为:"+num2);
}
int baiwei=num1/100%10;
int zjhm=(int)(Math.random()*10+1);
System.out.println("中奖号码为:"+zhongjianghaoma);
if(baiwei==zjhm){
System.out.println("恭喜你,获得兰博基尼一辆!!!");
}else{
System.out.println("不好意思毛也没有!");
}
else
{
System.out.println("会员号输入错误,请重新输入");}
}
}
显示有错,我也知道有错,不过我想实现我的目的的话,应该怎么编写??可否if套if?? 请别用太高深的办法解决,我刚学习第三天,谢谢谢谢 展开
现在的问题是这样的,如果我第一个if判定会员输入4位数正确,就会触发下一个if,判定是否中奖,现在我出现的问题就是无法if套if,想问问如何解决,各位大神帮帮我,我是初学,不知道去哪找答案,还有能顺道推荐一个比较好的JAVA学习网站最好。多谢
代码如下,是错误的,求正确代码
import java.util.Scanner;
public class huiyanxinxi {
public static void main(String args[]) {
System.out.println("我行我素购物管理系统>客户信息管理>添加客户信息");
System.out.println("\n\n\n请输入会员号(4位整数):");
Scanner in=new Scanner(System.in);
int num1=in.nextInt();
System.out.println("请输入 会员生日(月/日)");
String shengri=in.next();
System.out.println("请输入积分:");
int num2=in.nextInt();
if(num1>=1000&&num1<=9999){
System.out.println("已录入会员信息为:");
System.out.println("会员号:"+num1+"\t会员生日:"+shengri+"\t会员积分为:"+num2);
}
int baiwei=num1/100%10;
int zjhm=(int)(Math.random()*10+1);
System.out.println("中奖号码为:"+zhongjianghaoma);
if(baiwei==zjhm){
System.out.println("恭喜你,获得兰博基尼一辆!!!");
}else{
System.out.println("不好意思毛也没有!");
}
else
{
System.out.println("会员号输入错误,请重新输入");}
}
}
显示有错,我也知道有错,不过我想实现我的目的的话,应该怎么编写??可否if套if?? 请别用太高深的办法解决,我刚学习第三天,谢谢谢谢 展开
展开全部
可以再外围加个while判断输入是否正确,输入错误就提示重新输入,只有输入正确才进入if,像这样:
import java.util.Scanner;
public class Test25 {
public static void main(String args[]) {
while (true) {
System.out.println("我行我素购物管理系统>客户信息管理>添加客户信息");
System.out.println("\n\n\n请输入会员号(4位整数):");
Scanner in = new Scanner(System.in);
int num1 = in.nextInt();
if (num1 >= 1000 && num1 <= 9999) {
System.out.println("请输入 会员生日(月/日)");
String shengri = in.next();
System.out.println("请输入积分:");
int num2 = in.nextInt();
System.out.println("已录入会员信息为:");
System.out.println("会员号:" + num1 + "\t会员生日:" + shengri
+ "\t会员积分为:" + num2);
int baiwei = num1 / 100 % 10;
int zjhm = (int) (Math.random() * 10 + 1);
System.out.println("中奖号码为:" + baiwei);
if (baiwei == zjhm)
System.out.println();
else
System.out.println("不好意思毛也没有!");
}
else{
System.out.println("输入错误,请重试")
continue;
}
}
}
}
三天能写出这样,挺不错啊
import java.util.Scanner;
public class Test25 {
public static void main(String args[]) {
while (true) {
System.out.println("我行我素购物管理系统>客户信息管理>添加客户信息");
System.out.println("\n\n\n请输入会员号(4位整数):");
Scanner in = new Scanner(System.in);
int num1 = in.nextInt();
if (num1 >= 1000 && num1 <= 9999) {
System.out.println("请输入 会员生日(月/日)");
String shengri = in.next();
System.out.println("请输入积分:");
int num2 = in.nextInt();
System.out.println("已录入会员信息为:");
System.out.println("会员号:" + num1 + "\t会员生日:" + shengri
+ "\t会员积分为:" + num2);
int baiwei = num1 / 100 % 10;
int zjhm = (int) (Math.random() * 10 + 1);
System.out.println("中奖号码为:" + baiwei);
if (baiwei == zjhm)
System.out.println();
else
System.out.println("不好意思毛也没有!");
}
else{
System.out.println("输入错误,请重试")
continue;
}
}
}
}
三天能写出这样,挺不错啊
展开全部
public static void main(String args[]) {
System.out.println("我行我素购物管理系统>客户信息管理>添加客户信息");
System.out.println("\n\n\n请输入员号(4位整数):");
Scanner in = new Scanner(System.in);
int num1 = in.nextInt();
if (num1 >= 1000 && num1 <= 9999) {
System.out.println("请输入 员(月/)");
String shengri = in.next();
System.out.println("请输入积:");
int num2 = in.nextInt();
System.out.println("已录入员信息:");
System.out.println("员号:" + num1 + "\t员:" + shengri + "\t员积:" + num2);
int baiwei = num1 / 100 % 10;
int zjhm = (int) (Math.random() * 10 + 1);
System.out.println("中奖号码:"+zjhm);
if (baiwei == zjhm) {
System.out.println("恭喜获兰博基尼辆");
} else {
System.out.println("意思毛没");
}
} else {
System.out.println("员号输入错误请重新输入");
}
in.close();
}
如果单纯把你的代码改正确,可以改成这样。但是这个功能实现的十分简陋。
三天能学出这水平,你已经比很多人强了。加油!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一种:
if(条件1){
// 处理条件1的情况
// 这里面也可以有多个if-else
}else{
// 处理非条件1的情况
// 这里面也可以有多个if-else
}
第二种:
if(条件1){
// 处理条件1
}else if(条件2){
// 处理条件2
}....
else{ // 最后一个else,就是非以上所以条件的情况
//处理不满足以上所有条件的情况。
}
if(条件1){
// 处理条件1的情况
// 这里面也可以有多个if-else
}else{
// 处理非条件1的情况
// 这里面也可以有多个if-else
}
第二种:
if(条件1){
// 处理条件1
}else if(条件2){
// 处理条件2
}....
else{ // 最后一个else,就是非以上所以条件的情况
//处理不满足以上所有条件的情况。
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/*1.应将第16行的花括号移至第24行末。
2.应将第19行zhongjianghaoma改为zjhm。*/
import java.util.Scanner;
public class huiyanxinxi {
public static void main(String args[]) {
System.out.println("我行我素购物管理系统>客户信息管理>添加客户信息");
System.out.println("\n\n\n请输入会员号(4位整数):");
Scanner in=new Scanner(System.in);
int num1=in.nextInt();
System.out.println("请输入 会员生日(月/日)");
String shengri=in.next();
System.out.println("请输入积分:");
int num2=in.nextInt();
if(num1>=1000&&num1<=9999){
System.out.println("已录入会员信息为:");
System.out.println("会员号:"+num1+"\t会员生日:"+shengri+"\t会员积分为:"+num2);
int baiwei=num1/100%10;
int zjhm=(int)(Math.random()*10+1);
System.out.println("中奖号码为:"+zjhm);
if(baiwei==zjhm){
System.out.println("恭喜你,获得兰博基尼一辆!!!");
}else{
System.out.println("不好意思毛也没有!");
}
}else{
System.out.println("会员号输入错误,请重新输入");}
}
}
//建议在提问前,先把每个相对的括号看好,编程中的错误往往是粗心大意造成的。。
//还有楼主的类和变量的命名不太规范,还有要把英语学好,少用拼音。。
2.应将第19行zhongjianghaoma改为zjhm。*/
import java.util.Scanner;
public class huiyanxinxi {
public static void main(String args[]) {
System.out.println("我行我素购物管理系统>客户信息管理>添加客户信息");
System.out.println("\n\n\n请输入会员号(4位整数):");
Scanner in=new Scanner(System.in);
int num1=in.nextInt();
System.out.println("请输入 会员生日(月/日)");
String shengri=in.next();
System.out.println("请输入积分:");
int num2=in.nextInt();
if(num1>=1000&&num1<=9999){
System.out.println("已录入会员信息为:");
System.out.println("会员号:"+num1+"\t会员生日:"+shengri+"\t会员积分为:"+num2);
int baiwei=num1/100%10;
int zjhm=(int)(Math.random()*10+1);
System.out.println("中奖号码为:"+zjhm);
if(baiwei==zjhm){
System.out.println("恭喜你,获得兰博基尼一辆!!!");
}else{
System.out.println("不好意思毛也没有!");
}
}else{
System.out.println("会员号输入错误,请重新输入");}
}
}
//建议在提问前,先把每个相对的括号看好,编程中的错误往往是粗心大意造成的。。
//还有楼主的类和变量的命名不太规范,还有要把英语学好,少用拼音。。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询