Java基础写法 1088:分离整数的各个数 给定一个整数n(1≤n≤100000000),要求从个位开始分离出它的每一位数字。从个位开始按照从低位到高位的顺序依次输出每一位数字。
时间: 2023-09-01 12:08:50 浏览: 84
可以使用取模运算和除法运算来实现分离整数的各个数。具体实现如下:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int[] nums = new int[10]; // 存放每一位数字
int count = 0; // 数字位数
while (n > 0) {
nums[count++] = n % 10;
n /= 10;
}
for (int i = count - 1; i >= 0; i--) {
System.out.println(nums[i]);
}
}
}
```
首先读入整数n,然后定义一个长度为10的整型数组nums和一个计数器count。在循环中,每次通过n % 10取得n的个位数字,存放到nums数组中,并将n除以10。当n变成0时,循环结束,此时count就是n的数字位数。最后从高到低遍历nums数组,依次输出每一位数字。
相关问题
Java基础写法 给定一个长度为n的非负整数序列,请计算序列的最大跨度值(最大跨度值 = 最大值减去最小值)。
可以按照以下思路解决该问题:
1. 定义一个变量max记录序列中的最大值,一个变量min记录序列中的最小值;
2. 遍历整个序列,判断当前元素是否比max大或比min小,如果是则更新max或min;
3. 遍历完成后,计算max和min的差值,即为最大跨度值。
以下是Java代码实现:
```java
public static int maxSpan(int[] nums) {
int max = nums[0], min = nums[0];
for (int i = 1; i < nums.length; i++) {
if (nums[i] > max) {
max = nums[i];
}
if (nums[i] < min) {
min = nums[i];
}
}
return max - min;
}
```
其中,参数nums为给定的非负整数序列,返回值为序列的最大跨度值。
Java基础写法 给定一个长度为n的非负整数序列,请计算序列的最大跨度值(最大跨度值 = 最大值减去最小值)。 n的范围1 <= n <= 1000
可以按照以下思路解决该问题:
1. 定义一个变量max记录序列中的最大值,一个变量min记录序列中的最小值;
2. 遍历整个序列,判断当前元素是否比max大或比min小,如果是则更新max或min;
3. 遍历完成后,计算max和min的差值,即为最大跨度值。
以下是Java代码实现:
```java
public static int maxSpan(int[] nums) {
int max = nums[0], min = nums[0];
for (int i = 1; i < nums.length; i++) {
if (nums[i] > max) {
max = nums[i];
}
if (nums[i] < min) {
min = nums[i];
}
}
return max - min;
}
```
其中,参数nums为给定的非负整数序列,返回值为序列的最大跨度值。