public class Work2 { public static void main(String[] args) { Scanner input=new Scanner(System.in); System.out.println("请输入三位数"); int number=0; //判断输入值是否为水仙花 while(true) { //判断输入值是否为int类型 if(input.hasNextInt()) { number=input.nextInt(); System.out.println("您输入的是int类型数字"); }else { input.nextInt(); System.err.println("您输入的不是int类型数字"); } //判断输入值是否为三位数 if(number>99||number<999) { }else { System.err.println("请输入三位数,并且是正整数"); } int num1=number%10;//分离个位 int num2=number/10%10;//分离十位 int num3=number/100;//分离百位 int num = num1*num1*num1+num2*num2*num2+num3*num3*num3; if (num==number) { System.out.println("您输入是的水仙花"); break; }else { System.err.println("您输入的不是水仙花"); } } input.close(); } }
时间: 2023-06-18 22:06:45 浏览: 40
这是一个 Java 程序,实现了判断一个三位数是否为水仙花数的功能。水仙花数是指一个三位数的每个位上的数字的立方和等于该数本身。程序的具体实现如下:
1. 定义一个 Scanner 对象 input,用来读取用户输入的数字。
2. 输出提示信息,让用户输入一个三位数。
3. 使用 while 循环,不断读取用户输入的数字,并进行判断。
4. 判断用户输入的数字是否为 int 类型,如果不是 int 类型,则输出错误信息,并继续等待用户输入。
5. 判断用户输入的数字是否为三位数,如果不是三位数,则输出错误信息,并继续等待用户输入。
6. 分离出用户输入的数字的个位、十位和百位。
7. 计算出用户输入的数字的立方和,如果等于用户输入的数字,则说明该数字是水仙花数,输出提示信息并结束循环;否则输出错误信息并继续等待用户输入。
8. 关闭 Scanner 对象。
需要注意的是,程序中使用了 if...else... 语句和 while 循环语句来实现流程控制,以及 Scanner 对象来读取用户输入的数字。
相关问题
public static void main(String args[]) throws IOException { Scanner sc=new Scanner(System.in);
这是 Java 中一个简单的主函数,它使用 Scanner 类从命令行读取输入。具体来说,它创建了一个名为 sc 的 Scanner 对象,并将其与标准输入流 System.in 关联。接下来,它可以使用 sc 对象调用 Scanner 类中的方法来读取用户在命令行中输入的数据。在这个示例中,它使用了 throws IOException 来处理可能的输入输出异常。
补全import java.util.LinkedHashSet; import java.util.Scanner; public class Exercise3 { public static void main(String[] args) { Scanner input = new Scanner(System.in) System.out.print("请输入一串字母:"); String str = input.nextLine() System.out.println("str=" + str); LinkedHashSet set = new LinkedHashSet(); for (int i = 0; i < str.length(); i++) { set.add( str.charAt(i) ); } System.out.print("去重后:"); String result = ""; for ( : ) { result += object; } System.out.println(result); } }
补全代码如下:
import java.util.LinkedHashSet;
import java.util.Scanner;
public class Exercise3 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一串字母:");
String str = input.nextLine();
System.out.println("str=" + str);
LinkedHashSet<Character> set = new LinkedHashSet<Character>();
for (int i = 0; i < str.length(); i++) {
set.add(str.charAt(i));
}
System.out.print("去重后:");
String result = "";
for (Character c : set) {
result += c;
}
System.out.println(result);
}
}