请按题目的要求编写程序并给出运行结果。
1、请编写程序,实现计算“1+3+5+7+…+99”的值
提示:
① 使用循环语句实现自然数1~99的遍历。
② 在遍历过程中,通过条件判断当前遍历的数是否为奇数,如果是就累加,否则不加
public class Example4 {
public static void main(String[] args) {
int sum = 0; // 定义变量sum,用于记住和
for (int i = 1; i <= 100; i++) {
if (i % 2 != 0)
sum += i;
}
System.out.println("sum=" + sum);
}
}
运行结果:
2.已知函数
请设计一个方法实现上面的函数,根据传入的值x的不同,返回对应的y值。
提示:
① 定义一个static修饰符修饰的方法,方法接收一个int类型的参数x,返回值为int类型
② 在方法中使用if…else if…esle 语句针对x的值进行三种情况的判断。
③ 根据本判断结果分别执行不同的表达式,并将结果赋予变量y。
④ 在方法的最后返回y的值
⑤ 在main方法中调用设计好的方法,传入一个int型的值,将方法的返回值打印。
import java.util.Scanner;
public class Example5 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
do {
System.out.println("请输入x的值:");
int a = sc.nextInt();
int y = function(a);
System.out.println(y);
} while (true);
}
public static int function(int x) {
int y;
if (x > 0)
y = x + 3;
else if (x == 0)
y = 0;
else
y = x * x - 1;
return y;
}
}
运行结果:
3、请编写程序,实现对数组{25,24,12,76,101,96,28}的排序
import java.util.Scanner;
public class Example6 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请问你想给几个数字排序?");
int n = sc.nextInt();
System.out.println("请输入这" + n + "个数: ");
int[] arr = new int[n];
for (int x = 0; x < n; x++)
arr[x] = sc.nextInt();
System.out.print("冒泡排序前: ");
printArray(arr); // 打印数组元素
bubbleSort(arr); // 调用排序方法
System.out.print("冒泡排序后: ");
printArray(arr); // 打印数组元素
}
// 定义打印数组方法
public static void printArray(int[] arr) {
// 循环遍历数组的元素
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.print("\n");
}
// 定义对数组排序的方法
public static void bubbleSort(int[] arr) {
// 定义外层循环
for (int i = 0; i < arr.length - 1; i++) {
// 定义内层循环
for (int j = 0; j < arr.length - i - 1; j++) {
if (arr[j] > arr[j + 1]) { // 比较相邻元素
// 下面的三行代码用于交换两个元素
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
System.out.print("第" + (i + 1) + "轮排序后: ");
printArray(arr); // 每轮比较结束打印数组元素
}
}
}
运行结果: