7.8-入力数値の桁数を判断する方法、文字列から整数へ
質問の要件:
1)4桁の会員カード番号を入力する
2)会員カード番号の桁を決定する
3)カード番号が4桁より大きいか小さい場合は、再入力する
4)4桁の番号を出力する1、10、100、数千
会員証番号の桁を判定するコードは以下の通りです。
lengh = id.lenth()//识别字符串长度
カード番号の桁が間違っている場合は、再入力し、do ... while ...ループを使用します
do{
if(length==0){
System.out.print("输入会员卡号:");
}else{
System.out.print("重新输入会员卡号:")
}
Scanner sc = New Scanner(System.In);
id = sc.next();
length = id.length();
}while(length!=4)
コードは以下のように表示されます:
public class test1 {
public static void main(String[] args) {
String id = null;
int length = 0;
do {
if (length==0){
System.out.println("请输入四位会员卡号:");
}else {
System.out.println("请重新输入四位会员卡号:");
}
Scanner sc=new Scanner(System.in);
id = sc.next();
length = id.length();
}while (length!=4);
System.out.println("会员卡号是:"+id);
int num = Integer.parseInt(id);
int gw = num%10;
int sw = num/10%10;
int bw = num/100%10;
int qw = num/1000%10;
System.out.println("千位:"+qw+"百位:"+bw+"十位:"+sw+"个位:"+gw);
int sum=gw+sw+bw+qw;
System.out.println("会员卡号"+id+"各位之和:"+sum);
if (sum>20){
System.out.println("恭喜您,您中奖了!");
}else {
System.out.println("您没有中奖!");
}
}
}
注意:
1)idは文字列型としてのみ定義でき、次にlength = id.length()を使用します。ステートメントはid文字列の長さを判断できます。idがint型として定義されている場合、入力0000の場合、数字がないと見なされ、数字は0.
2)idは最初は文字列型として定義されているため、後で1、10、100、1000、および桁を計算するときに文字列をintに変換する必要があります。
int num = Integer.parseInt(id);