Java 作业二
1、设计二维数组,输出、处理十行杨辉三角形。
package one;
public class triangle {
public static void main(String[] args) {
// TODO Auto-generated method stub
int N = 10, i, j, k, max = 10;
int a[][] = new int[N][];
for (i = 0; i < N; i++) {
a[i] = new int[i + 1];
a[i][0] = 1;
a[i][i] = 1;
}
for (i = 2; i < N; ++i) {
for (j = 1; j < i; ++j) {
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
}
}
for (i = 0; i < N; ++i) {
for (k = (max - 1 - i); k > 0; k--) {
System.out.print(" ");
}
for (j = 0; j <= i; ++j) {
System.out.print(a[i][j] + " ");
}
System.out.println();
}
System.out.println("学号+姓名");
}
}
2、利用一维数组实现Fibonacci数列前10项。
package one;
public class Fibonacci {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a[] = new int[10];
a[0] = a[1] = 1;
for (int i = 2; i < a.length; i++) {
a[i] = a[i - 1] + a[i - 2];
}
for (int i = 0; i < a.length; i++) {
if (i % 5 == 0)
System.out.print(" ");
System.out.print(a[i] + " ");
}
System.out.println();
System.out.println("学号+姓名");
}
}
3、使用模块化设计方法,实现冒泡排序。
代码一(从小到大排列)
package one;
public class Sort {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a = new int[] {任取5个数};
for (int i = 0; i < 5; i++)
for (int j = 0; j < a.length-i - 1; j++)
if (a[j] > a[j + 1]) {
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
for (int i = 0; i < a.length; i++)
System.out.print(a[i] + " ");
System.out.println();
System.out.println("学号+姓名");
}
}
代码一(从大到小排列)
package one;
public class sort4 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a = new int[] {任取5个数};
for (int i = 0; i < 5; i++)
for (int j = a.length - i - 1; j>=1; j--)
if (a[j] > a[j -1]) {
int temp = a[j];
a[j] = a[j - 1];
a[j - 1] = temp;
}
for (int i = 0; i < a.length; i++)
System.out.print(a[i] + " ");
System.out.println();
System.out.println("学号+姓名");
}
}
代码二(从小到大排列)
package one;
public class sort2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] numbers = new int[] {任取5个数};
int len = numbers.length;
int i, j, temp;
System.out.println("排列前的数组各个值:");
for (i = 0; i < len; i++) {
System.out.print(numbers[i] + " ");
}
System.out.println();
for (i = 1; i <= len; i++) {
for (j = 0; j < len-1; j++) {
if (numbers[j] > numbers[j + 1]) {
temp = numbers[j];
numbers[j] = numbers[j + 1];
numbers[j + 1] = temp;
}
}
}
System.out.println("排列后的数组各个值:");
for (i = 0; i < len; i++) {
System.out.print(numbers[i] + " ");
}
System.out.println();
System.out.println("学号+姓名");
}
}
代码二(从大到小排列)
package one;
public class sort1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] numbers = new int[] {任取5个数};
int len = numbers.length;
int i, j, temp;
System.out.println("排列前的数组各个值:");
for (i = 0; i < len; i++) {
System.out.print(numbers[i] + " ");
}
System.out.println();
for (i = 1; i <= len; i++) {
for (j = len - 1; j >= 1; j--) {
if (numbers[j] > numbers[j - 1]) {
temp = numbers[j];
numbers[j] = numbers[j - 1];
numbers[j - 1] = temp;
}
}
}
System.out.println("排列后的数组各个值:");
for (i = 0; i < len; i++) {
System.out.print(numbers[i] + " ");
}
System.out.println();
System.out.println("学号+姓名");
}
}
4、声明一数组来存放12个月的英文名称,由用户从键盘输入月份,如输入8,则程序输出相对应的月份名称:August。若用户输入了1-12以外的内容,程序报错。
package one;
import java.io.*;
public class month {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
int m;
String str;
String month[] = { "January", "February", "March", "April", "May",
"June", "July", "August", "september", "October", "November",
"December" };
BufferedReader buf;
buf = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Input the m:");
str = buf.readLine();
m = Integer.parseInt(str);
if (m >= 1 && m <= 12)
System.out.println(month[m - 1]);
else
System.out.print("Your Input is wrong");
System.out.println("学号+姓名");
}
}
5、设N是一个四位数,它的9倍恰好是其反序数,编程,输出所有满足条件的N。(例如:123反序数321) 注:使用String类方法完成,可以查阅JavaAPI
package one;
public class Reverse {
public static void main(String[] args) {
// TODO Auto-generated method stub
for (int i = 1000; i * 9 < 10000; i++) {
String c = "";
String str = String.valueOf(i);
for (int j = str.length() - 1; j >= 0; j--) {
c = c + str.charAt(j);
}
int a = Integer.parseInt(c);
if (a == i * 9)
System.out.println(i);
}
System.out.print("学号+姓名");
}
}