发布网友
共5个回答
热心网友
上面的是C语言的代码啊,呵呵。
下面才是JAVA的,其实思路很简单。
直接让用户输入一个数:
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
得到这个数字以后,有两种方法判断这个数是几位数。
方法一:
把这个数字转为字符串,
String s = String.valueOf(num);
然后用s.length()得到这个字符串的长度,这个长度就是数字的位数了,不过前提是这个数是正数,如果是负数,可以先判断一下num是否在于0,如果小于0,那么长度就应该是5才对。
方法二:
int i = 0;
while(num!=0){
num = num / 10;
i ++;
}
最后,这个 i 就是数字的位数。
热心网友
package test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class GetNum {
public static void main(String[] args) {
String str2 = readString("请输入字符串:");
if (str2.length() == 4) {
try {
int i = Integer.parseInt(str2);
} catch (Exception e) {
System.out.println(String.format("你输入的不是数字:%s", str2));
return;
//e.printStackTrace();
}
System.out.println(String.format("你输入的4位数字是:%s", str2));
} else {
System.out.println("数据有误");
}
}
private static String readString(String p) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = null;
try {
System.out.print(p);
str = br.readLine();
} catch (IOException e) {
}
return str;
}
}
热心网友
将用户名转换为数字格式看看是否抛出异常,有则提示不是数字。否则查找有无小数点字符,有则提示输入整数。否则判断转换为数字格式是否是大于999且小于10000就行了追问大神同学~~~嘿嘿,可否把这样的思路写段小代码,让我读读好么。加强理解嘛~~~感激不尽哟~~
热心网友
Scanner scanner = new Scanner(System.in);
System.out.println("请输入用户名:");
while (scanner.hasNext()) {
String inputString = scanner.nextLine().trim();
try {
if (inputString.equals("exit")) {
break;
}
int inputInt = Integer.parseInt(inputString);
if (inputString.length()<4 || inputString.length()>4) {
System.out.println("所输入的用户名必须为4位数字,请重新输入!");
}
} catch (NumberFormatException e) {
System.out.println("请输入数字!");
}
}
}
试试这个追问哇,大神真的可以唉,能讲讲思路嘛~~好新奇,读不懂的说。你咋想的。
热心网友
你先判断字符有没有空格以及长度是否为4,在用Integer.parseInt 强制转换这个字符串,如果能够转换,说明是4位数追问大神,可否直接给代码让我膜拜读读看~~~
追答public class GetNum {
public static void main(String[] args) {
String str2 = readString("请输入字符串:");
String str1=str2.trim();
if (str2.length() == 4 && str1.length() == 4) {
try {
int i = Integer.parseInt(str2);
} catch (Exception e) {
System.out.println(String.format("你输入的不是数字:%s", str2));
return;
//e.printStackTrace();
}
System.out.println(String.format("你输入的4位数字是:%s", str2));
} else {
System.out.println("数据有误");
}
}
private static String readString(String p) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = null;
try {
System.out.print(p);
str = br.readLine();
} catch (IOException e) {
}
return str;
}
}