求整数的百位数、十位数和个位数的数值 分数 14 作者 万静 单位 北京化工大学 输入一个三位的正整数,分别求出该数的百位数、十位数和个位数的数值。 输入格式: 在一行中给出一个三位的正整数。 输出格式: 在一行中输出该数的百位数、十位数和个位数的数值,用空格分隔。 输入样例: 123 输出样例: 1 2 3
时间: 2024-03-10 17:43:19 浏览: 66
以下是Java语言的代码实现:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt(); // 输入一个三位的正整数
int hundred = num / 100; // 求出百位数
int ten = (num % 100) / 10; // 求出十位数
int one = num % 10; // 求出个位数
System.out.println(hundred + " " + ten + " " + one); // 输出结果
}
}
```
代码思路:
1. 首先使用Scanner类从控制台输入一个三位的正整数。
2. 然后分别使用整除运算和取模运算求出它的百位数、十位数和个位数。
3. 最后使用System.out.println()函数输出结果,注意用空格隔开。
代码输出:
如果输入样例为123,那么输出结果为:
```
1 2 3
```
希望能够帮到你!
相关问题
定义学生类覆盖Object中的方法实现Comparable接口 分数 20 作者 万静 单位 北京化工大学 定义一个学生类Student,成员变量包括:姓名,生日,学号,学校;重写方法toString,equals,hashCode;实现接口Comparable,按照学号大小进行比较;定义构造方法。 代码形式如下: public class Main{ public static void main(String[] args) { Scanner in=new Scanner(System.in); int num=in.nextInt(); Student[] studentArray = new Student[num]; for(int i=0;i<num;i++) { String name=in.next(); int year=in.nextInt(); int month=in.nextInt(); int day=in.nextInt(); String studentId=in.next(); String school=in.next(); studentArray[i]=new Student(name,year,month,day,studentId,school); } Arrays.sort(studentArray); for(Student s:studentArray) System.out.println(s); } } class Student implements Comparable { //给出Student的定义 } 输入格式: 第一行输入学生人数。其他各行每行输入一个学生的姓名,出生年月日,学号,学号,用空格分隔。 输出格式: 按照学号从小到大排序的学生信息,每个学生信息一行。 输入样例: 例如: 3 李翔 2002 10 9 202019001 北京化工大学 张凯 2002 11 23 202019015 北京化工大学 汪海 2002 7 5 202019012 北京化工大学 输出样例: 例如: Student[name=李翔, birthday=2002-10-09, studentId=202019001, school=北京化工大学] Student[name=汪海, birthday=2002-07-05, studentId=202019012, school=北京化工大学] Student[name=张凯, birthday=2002-11-23, studentId=202019015, sc
好的,下面是符合要求的代码:
```
import java.util.Arrays;
import java.util.Objects;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int num = in.nextInt();
Student[] studentArray = new Student[num];
for (int i = 0; i < num; i++) {
String name = in.next();
int year = in.nextInt();
int month = in.nextInt();
int day = in.nextInt();
String studentId = in.next();
String school = in.next();
studentArray[i] = new Student(name, year, month, day, studentId, school);
}
Arrays.sort(studentArray);
for (Student s : studentArray) {
System.out.println(s);
}
}
}
class Student implements Comparable<Student> {
private String name;
private Date birthday;
private String studentId;
private String school;
public Student(String name, int year, int month, int day, String studentId, String school) {
this.name = name;
this.birthday = new Date(year, month, day);
this.studentId = studentId;
this.school = school;
}
@Override
public String toString() {
return "Student[name=" + name + ", birthday=" + birthday +
", studentId=" + studentId + ", school=" + school + "]";
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Student)) return false;
Student student = (Student) o;
return Objects.equals(studentId, student.studentId);
}
@Override
public int hashCode() {
return Objects.hash(studentId);
}
@Override
public int compareTo(Student other) {
return this.studentId.compareTo(other.studentId);
}
class Date {
private int year;
private int month;
private int day;
public Date(int year, int month, int day) {
this.year = year;
this.month = month;
this.day = day;
}
@Override
public String toString() {
return year + "-" + String.format("%02d", month) + "-" + String.format("%02d", day);
}
}
}
```
在上面的代码中,我们定义了一个名为Student的类,并实现了Comparable接口。该类有四个属性name、birthday、studentId和school,分别表示学生的姓名、生日、学号和学校。我们还覆盖了Object中的toString、equals和hashCode方法,以便在打印学生对象时更方便地查看其属性,以及在比较学生对象时使用学号进行判断。最后,我们实现了Comparable接口中的compareTo方法,该方法将比较两个学生的学号,并返回结果。
在上面的代码中,我们还定义了一个内部类Date,用于表示学生的生日,并覆盖了其toString方法,以便在打印学生对象时更方便地查看其生日。
在main方法中,首先读入学生人数,然后读入每个学生的信息,并创建相应的学生对象。接着,我们使用Arrays.sort方法对学生数组进行排序,并打印排序后的结果。
需要注意的是,在读入学生信息时,我们使用了next方法读入字符串,并使用nextInt方法读入整数。此外,我们还使用了String类中的format方法来格式化日期字符串,以便输出格式符合要求。
Java程序设计-异常处理-自定义异常类 分数 20 作者 万静 单位 北京化工大学 定义一个具有三条边的三角形类Triangle。在三角形中,任意两边之和大于第三边。三角形类Triangle写遵从这一个规则。定义一个IllegalTriangleException类,修改类Triangle的构造方法,如果创建的三角形的边违反了这一规则,则抛出一个IllegalTriangleException对象。 程序框架如下所示: public class Main { public static void main(String [ ] args) { Scanner in=new Scanner(System.in); double side1,side2,side3; side1=in.nextDouble(); side2=in.nextDouble(); side3=in.nextDouble(); //下面的代码创建Triangle对象,使用try catch处理异常 .... } class Triangle { private double side1; private double side2; private double side3; public Triangle(double side1,double side2,double side3) throws IllegalTriangleException {//初始化,如果出现两条边之和小于等于第三边,则抛出 IllegalTriangleException异常对象 .... } } class IllegalTriangleException extends Exception {//下面的代码定义异常类 ... } 输入格式: 一行输入三个数,用空格分隔,代表三条边的长度。 输出格式: 如果三条边符合要求,则输出“创建成功”;否则输出异常信息“IllegalTriangleException: 边长不符合要求”。 输入样例1: 2.3 4.5 3.4 输出样例1: 三角形创建成功 输入样例2: 1 2 4 输出样例2: IllegalTriangleException: 边长不符合要求
以下是代码实现:
```
import java.util.Scanner;
class IllegalTriangleException extends Exception {
public IllegalTriangleException(String msg) {
super(msg);
}
}
class Triangle {
private double side1;
private double side2;
private double side3;
public Triangle(double side1, double side2, double side3) throws IllegalTriangleException {
if (side1 <= 0 || side2 <= 0 || side3 <= 0) {
throw new IllegalTriangleException("IllegalTriangleException: 边长必须为正数!");
}
if (side1 + side2 <= side3 || side1 + side3 <= side2 || side2 + side3 <= side1) {
throw new IllegalTriangleException("IllegalTriangleException: 边长不符合要求!");
}
this.side1 = side1;
this.side2 = side2;
this.side3 = side3;
}
public void printTriangle() {
System.out.println("创建成功");
}
}
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
double side1, side2, side3;
side1 = in.nextDouble();
side2 = in.nextDouble();
side3 = in.nextDouble();
try {
Triangle triangle = new Triangle(side1, side2, side3);
triangle.printTriangle();
} catch (IllegalTriangleException e) {
System.out.println(e.getMessage());
}
}
}
```
代码思路:
1.定义一个IllegalTriangleException类,继承自Exception类,用于抛出不合法的三角形异常。
2.在Triangle构造方法中,如果创建的三角形的边不符合要求,则抛出IllegalTriangleException异常对象。
3.在main函数中,使用try-catch语句处理异常,如果创建的三角形不符合要求,则输出异常信息;否则输出“创建成功”。
4.注意,三角形的边长必须为正数。
阅读全文