信用卡号的合法性(《Java语言程序设计》课后习题6.31)

这是一道关于Java编程的课后习题,主要涉及类和方法的应用。题目要求验证信用卡号的合理性,包括位数、开头及数字求和的特定规则。通过编写多个辅助函数,最终在主函数中整合逻辑,实现对信用卡号的合法性判断。
摘要由CSDN通过智能技术生成

这个算是比较有意思的一道题。适合学习类和方法的初学者练习。

要验证卡号的合理性,根据条件可以先列出几个层次,再着手敲代码,会使条理比较清晰。

(1)根据 个返回值的真假判断卡号是否合理

  1. 判断卡号的位数是否合理(用布尔)并返回一个值(假定judge1)
  2. 判断卡号的开头是否合理(用布尔)并返回一个值(假定judge2)
  3. 判断end1和end2的值能否被10整除并返回一个布尔值(judge3)
  •     从十位起每隔一位得到一个数字并将此数字作为参数放入Ⅰ中,并将Ⅰ中所得返回值加在一起,得到返回值end1;
  •     将卡号从左到右的奇数位所有数字相加,所得返回值为end2;

(Ⅰ)将得到的实参*2,如果大于9则结果=(结果%10+1),再返回。

现在我们可以根据上面的逻辑写出七个函数,并且所有方法都包含在第一个方法中(有的为间接调用),构造函数与设定初始值的函数不再说明。

下面为实际代码:

主类代码:


public class reditCard {
	long cardword;
	
	reditCard(){}
	public void setCard(long a)
	{
		cardword=a;
	}
	 
	public boolean isValid()
	{
		boolean prefix=prefixMatched();
		boolean theSize=Size(
ava+SQL信用卡管理系统源代码,MSSQL数据库,比较复杂,新手调试可能会遇到问题,附有Java源代码,仅供学习参考。 Java+SQL信用卡管理系统源代码 (1 folders, 2 files, 1.38 KB, 3.52 MB in total.)         源码 (1 folders, 2 files, 1.38 KB, 3.52 MB in total.)               信用卡管理系统SQL (4 folders, 17 files, 2.21 MB, 3.52 MB in total.)       card.jpx 9.58 KB       card.jpx.local 3.02 KB       card.jpx.local~ 3.02 KB       cardSystem_Data.MDF 1.13 MB       cardSystem_Log.LDF 1.00 MB       hs_err_pid1392.log 7.06 KB       hs_err_pid2360.log 6.88 KB       hs_err_pid2756.log 7.06 KB       hs_err_pid2804.log 7.05 KB       hs_err_pid2932.log 6.88 KB       hs_err_pid3152.log 7.06 KB       hs_err_pid3548.log 7.05 KB       hs_err_pid3856.log 7.06 KB       hs_err_pid512.log 6.88 KB       hs_err_pid748.log 7.05 KB                      bak (1 folders, 2 files, 1.38 KB, 208.28 KB in total.)                        card (0 folders, 67 files, 206.90 KB, 206.90 KB in total.)           cardConnect.java~1~ 1.52 KB           cardConnect.java~2~ 508 bytes           cardConnect.java~3~ 661 bytes           cardConnect.java~4~ 1.01 KB           cardConnect.java~5~ 971 bytes           creditCard.java~1~ 1.53 KB           eventFrame.java~18~ 2.86 KB           eventFrame.java~19~ 3.04 KB           eventFrame.java~20~ 2.98 KB           eventFrame.java~21~ 3.19 KB           eventFrame.java~22~ 3.20 KB           eventFrame.java~23~ 3.20 KB           eventFrame.java~24~ 3.35 KB           eventFrame.java~25~ 3.36 KB           eventFrame.java~26~ 3.36 KB           eventFrame.java~27~ 3.36 KB           getPanel.java~22~ 3.64 KB           getPanel.java~23~ 3.64 KB           getPanel.java~24~ 3.50 KB           getPanel.java~25~ 3.50 KB           getPanel.java~26~ 3.54 KB           getPanel.java~27~ 3.58 KB           getPanel.java~28~ 3.58 KB           getPanel.java~29~ 3.55 KB           getPanel.java~30~ 3.54 KB           getPanel.java~31~ 3.59 KB           loginFrame.java~100~ 6.04 KB           loginFrame.java~101~ 6.29 KB           loginFrame.java~102~ 6.47 KB           loginFrame.java~103~ 6.47 KB           loginFrame.java~104~ 6.64 KB           loginFrame.java~95~ 6.07 KB           loginFrame.java~96~ 6.07 KB           loginFrame.java~97~ 6.07 KB           loginFrame.java~98~ 6.07 KB           loginFrame.java~99~ 6.07 KB                      moveFrameEvent.java~1~ 882 bytes           queryPanel.java~10~ 2.54 KB           queryPanel.java~11~ 2.57 KB           queryPanel.java~12~ 2.58 KB           queryPanel.java~13~ 2.10 KB           queryPanel.java~14~ 2.10 KB           queryPanel.java~15~ 2.08 KB           queryPanel.java~6~ 2.61 KB           queryPanel.java~7~ 2.61 KB           queryPanel.java~8~ 2.61 KB           queryPanel.java~9~ 2.57 KB           staticMessage.java~1~ 1.06 KB           staticMessage.java~2~ 1.08 KB           staticMessage.java~3~ 1.12 KB           staticMessage.java~4~ 1.07 KB           staticMessage.java~5~ 1.07 KB           storePanel.java~15~ 3.43 KB           storePanel.java~16~ 3.43 KB           storePanel.java~17~ 3.43 KB           storePanel.java~18~ 3.52 KB           storePanel.java~19~ 3.52 KB           storePanel.java~20~ 3.47 KB           storePanel.java~21~ 3.52 KB           storePanel.java~22~ 3.52 KB           storePanel.java~23~ 3.49 KB           storePanel.java~24~ 3.53 KB           welcomePanel.java~1~ 1.19 KB           welcomePanel.java~2~ 1.37 KB           welcomePanel.java~3~ 1.47 KB                   classes (2 folders, 2 files, 1.38 KB, 73.03 KB in total.)                         card (0 folders, 27 files, 41.28 KB, 41.28 KB in total.)          cardConnect.class 1.75 KB          creditCard$1.class 714 bytes          creditCard.class 1.16 KB          eventFrame.class 4.17 KB          getPanel$1.class 652 bytes          getPanel$2.class 649 bytes          getPanel$3.class 649 bytes          getPanel.class 4.56 KB          loginFrame$1.class 664 bytes          loginFrame$2.class 618 bytes          loginFrame$3.class 622 bytes          loginFrame$4.class 664 bytes          loginFrame$5.class 618 bytes          loginFrame$6.class 622 bytes          loginFrame$7.class 661 bytes          loginFrame$8.class 661 bytes          loginFrame.class 7.27 KB                    moveFrameEvent.class 1.20 KB          queryPanel.class 2.10 KB          staticMessage.class 1.83 KB          storePanel$1.class 664 bytes          storePanel$2.class 661 bytes          storePanel$3.class 661 bytes          storePanel.class 4.57 KB          welcomePanel.class 1.73 KB                  package cache (0 folders, 3 files, 30.37 KB, 30.37 KB in total.)           card.dep2 28.98 KB                              img (0 folders, 9 files, 1.01 MB, 1.01 MB in total.)         1.jpg 69.44 KB         11.jpg 585.41 KB         img.gif 1.76 KB         l562.png 313.27 KB         log001.gif 24.68 KB         log002.gif 7.21 KB                  Thumbs.db 26.50 KB                src (1 folders, 2 files, 1.38 KB, 29.22 KB in total.)                           card (0 folders, 12 files, 27.84 KB, 27.84 KB in total.)            cardConnect.java 1.14 KB            creditCard.java 1.49 KB            eventFrame.java 3.39 KB            getPanel.java 3.91 KB            loginFrame.java 7.16 KB                        moveFrameEvent.java 917 bytes            queryPanel.java 2.13 KB            staticMessage.java 1.12 KB            storePanel.java 3.85 KB            welcomePanel.java 1.37 KB
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值