6-1
public class Main {
public static void main(String[] args){
for(int i=0;i<=1000;i++){
float x=(float)i/1000;
System.out.printf("x=%f\t",x);
System.out.println("x^2="+x*x);
}
}
}
6-2
public class Main {
public static void main(String[] args){
int[] a=new int[5];
for(int i=0;i<a.length;i++){
a[i] =5-i;
System.out.println("a["+i+"]="+a[i]);
}
}
}
6-3
public class Main {
public static void main(String[] args){
double[] a=new double[5];
for(int i=0;i<a.length;i++){
a[i]=(double)(i+1)/10+(i+1);
System.out.println(a[i]);
}
}
}
6-4
方案一:
import java.util.Scanner;
import java.util.Random;
public class Main {
public static void main(String[] args){
Scanner stdIn=new Scanner(System.in);
Random rand=new Random();
System.out.print("元素个数:");
int n=stdIn.nextInt();
stdIn.close();
int [] a=new int[n];
int max=a[0];
for(int i=0;i<n;i++) {
a[i] = 1 + rand.nextInt(10);
}
for(int i=1;i<n;i++){
if(a[i]>=max) max=a[i];
}
for(int j=0;j<max;j++) {
for(int i=0;i<n;i++){
if(a[i]<max-j)
System.out.print(" ");
else
System.out.print("* ");
}
System.out.println();
}
for(int i=0;i<n;i++)
System.out.print("--");
System.out.println();
for(int i=0;i<n;i++)
System.out.print(i%10+" ");
}
}
方案二:
import java.util.Scanner;
import java.util.Random;
public class Test {
public static void main(String[] args){
Scanner stdIn = new Scanner(System.in);
Random rand = new Random();
System.out.print("元素个数:");
int n = stdIn.nextInt();
int[] a = new int[n];
for (int i = 0; i < n; i++) {
a[i] = rand.nextInt(10) + 1;
}
// 寻找最大高度
int maxHeight = 0;
for (int i = 0; i < n; i++) {
if (a[i] > maxHeight) {
maxHeight = a[i];
}
}
// 逐行打印柱形图
for (int row = maxHeight; row > 0; row--) {
for (int i = 0; i < n; i++) {
if (a[i] >= row) {
System.out.print("* ");
} else {
System.out.print(" ");
}
}
System.out.println();
}
// 打印分隔线
for (int i = 0; i < n; i++) {
System.out.print("--");
}
System.out.println();
// 打印下标
for (int i = 0; i < n; i++) {
System.out.print(i % 10 + " ");
}
}
}
6-5
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner stdIn=new Scanner(System.in);
System.out.print("元素个数:");
int n=stdIn.nextInt();
int [] a=new int[n];
int i;
for(i=0;i<a.length;i++){
System.out.print("a["+i+"]=");
a[i]=stdIn.nextInt();
}
System.out.print("a={");
for(i=0;i<n;i++) {
if(i==n-1)
System.out.print(a[i]);
else
System.out.print(a[i] + ",");
}
System.out.println("}");
}
}
6-6
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner stdIn=new Scanner(System.in);
System.out.print("人数:");
int n=stdIn.nextInt();
double[] t=new double[n];
double sum=0;
System.out.println("请输入"+n+"名学生的分数");
for(int i=0;i<n;i++){
System.out.print((i+1)+"号的分数:");
t[i]=stdIn.nextDouble();
sum+=t[i];
}
double max=t[0];
for(int i=1;i<t.length;i++){
if(t[i]>max) max=t[i];
}
double min=t[0];
for(int i=1;i<t.length;i++){
if(t[i]<min) min=t[i];
}
System.out.println("总分"+sum);
System.out.println("平均分"+sum/n);
System.out.println("最高分"+max);
System.out.println("最低分"+min);
}
}
6-7
import java.util.Scanner;
import java.util.Random;
public class Main {
public static void main(String[] args){
Scanner stdIn=new Scanner(System.in);
Random rand=new Random();
final int n=12;
int [] a=new int[n];
for(int j=0;j<n;j++) {
a[j] = rand.nextInt(10);
}
System.out.print("数组a中全部元素的值\n{ ");
for(int j=0;j<n;j++){
System.out.print(a[j]+" ");
}
System.out.println("}");
System.out.print("要查找的数值:");
int key=stdIn.nextInt();
int i;
for(i=0;i<n;i++)
if(a[n-1-i]==key) break;
if(i<n)
System.out.println("该元素是a["+(n-1-i)+"]。");
else
System.out.println("该元素不存在。");
}
}
6-8
import java.util.Scanner;
import java.util.Random;
public class Main {
public static void main(String[] args){
Scanner stdIn=new Scanner(System.in);
Random rand=new Random();
System.out.print("元素个数:");
int n =stdIn.nextInt();
double [] a=new double[n];
double sum=0;
for(int j=0;j<n;j++) {
a[j] = rand.nextInt(10);
sum+=a[j];
}
System.out.print("数组a中全部元素的值\n{ ");
for(int j=0;j<n;j++){
System.out.print(a[j]+" ");
}
System.out.println("}");
System.out.println("合计值是"+sum);
System.out.println("平均值是"+sum/n);
}
}
6-9
import java.util.Scanner;
import java.util.Random;
public class Main {
public static void main(String[] args){
Scanner stdIn=new Scanner(System.in);
Random rand=new Random();
System.out.print("元素个数:");
int n =stdIn.nextInt();
int [] a=new int[n];
double sum=0;
for(int j=0;j<n;j++) {
a[j] = rand.nextInt(10)+1;
}
System.out.print("数组a中全部元素的值\n{ ");
for(int j=0;j<n;j++){
System.out.print(a[j]+" ");
}
System.out.println("}");
}
}
6-10
方案一:
import java.util.Scanner;
import java.util.Random;
public class Main {
public static void main(String[] args){
Scanner stdIn=new Scanner(System.in);
Random rand=new Random();
System.out.print("元素个数:");
int n =stdIn.nextInt();
int [] a=new int[n];
double sum=0;
int b=-1;
for(int j=0;j<n;j++) {
int num;
do {
num = rand.nextInt(10) + 1;
}while(num==b);
a[j]=num;
b=num;
}
System.out.print("数组a中全部元素的值\n{ ");
for(int j=0;j<n;j++) {
System.out.print(a[j] + " ");
}
System.out.println("}");
}
}
方案二:
6-11
方案一:
import java.util.Scanner;
import java.util.Random;
public class Main {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
Random rand = new Random();
System.out.print("元素个数:");
int n = stdIn.nextInt();
int[] a = new int[n];
boolean[] used = new boolean[10];
System.out.print("数组a中全部元素的值\n{ ");
for (int j = 0; j < n; j++) {
int num;
do {
num = rand.nextInt(10) + 1;
} while (used[num]);
a[j] = num;
used[num] = true;
System.out.print(a[j] + " ");
}
System.out.println("}");
}
}
方案二:
import java.util.Scanner;
import java.util.Random;
public class Test {
public static void main(String[] args){
Scanner stdIn = new Scanner(System.in);
Random rand = new Random();
System.out.print("元素个数:");
int n = stdIn.nextInt();
int[] a = new int[n];
for(int i = 0; i < n; i++){
int newValue = rand.nextInt(10) + 1;
// 检查新生成的元素是否已存在于数组中
boolean exists = false;
for(int j = 0; j < i; j++) {
if(a[j] == newValue) {
exists = true;
break;
}
}
if(exists) {
i--; // 如果存在重复元素,则回退一个索引重新生成当前元素
}
else {
a[i] = newValue;
if(i<n-1&&i>0) {
System.out.print(a[i] + ",");
}
else if(i==0){
System.out.print("{"+a[i]+",");
}
else{
System.out.println(a[i] + "}");
}
}
}
System.out.print("关键值:");
int key = stdIn.nextInt();
int foundIndex = -1;
for(int j = 0; j < n; j++){
if(a[j] == key) {
foundIndex = j;
break;
}
}
if(foundIndex != -1) {
System.out.println("该元素a[" + foundIndex + "]。");
}
else {
System.out.println("该元素不存在。");
}
}
}
6-12
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner stdIn=new Scanner(System.in);
System.out.print("元素个数:");
int n = stdIn.nextInt();
int[] array = generateRandomArray(n);
shuffleArray(array);
System.out.println(Arrays.toString(array));
}
public static int[] generateRandomArray(int n) {
int[] array = new int[n];
Random rnd = new Random();
for (int i = 0; i < n; i++) {
array[i] = rnd.nextInt(100);
}
return array;
}
public static void shuffleArray(int[] array) {
Random rnd = new Random();
for (int i = array.length - 1; i > 0; i--) {
int index = rnd.nextInt(i + 1);
int temp = array[i];
array[i] = array[index];
array[index] = temp;
}
}
}
6-13
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
System.out.print("元素个数:");
int n = stdIn.nextInt();
int[] a = new int[n];
int[] b = new int[n];
for (int i = 0; i < n; i++) {
System.out.print("a["+i+"]= ");
a[i]=stdIn.nextInt();
}
for(int i=0;i<n;i++) {
b[i] = a[n - i - 1];
}
System.out.println("已经将a的全部元素倒序复制到数组b中。");
for(int i=0;i<n;i++){
System.out.println("b["+i+"]="+b[i]);
}
}
}
6-14
import java.util.Scanner;
import java.util.Random;
public class Main {
public static void main(String[] args) {
Scanner stdIn=new Scanner(System.in);
Random rand=new Random();
String[] monthString={"January","February","March","April","May","June","July",
"August","September","October","November","December"};
System.out.println("请输入月份的英语表达。");
System.out.println("另外,首字母大写,之后的字母都小写");
int retry;
Outer:
do{
int month = rand.nextInt(12) + 1;
String s2=monthString[month-1];
System.out.print(month +"月:");
String s1=stdIn.next();
if(s1.equals(s2)) {
System.out.print(s2);
System.out.println("回答正确。再来一次?1...Yes/0...No");
}
else {
break Outer;
}
retry = stdIn.nextInt();
}while(retry==1);
System.out.print("回答错误。");
}
}
6-15
import java.util.Scanner;
import java.util.Random;
public class Main {
public static void main(String[] args) {
Scanner stdIn=new Scanner(System.in);
Random rand=new Random();
String[] dayString={"monday","tuesday","wednesday","thursday","friday","saturday","sunday"};
String[] day={"一","二","三","四","五","六","七"};
System.out.println("请用小写输入英文的星期名。");
int retry;
Outer:
do{
int a = rand.nextInt(7) + 1;
String s2=dayString[a-1];
System.out.print("星期"+day[a-1]+":");
String s1=stdIn.next();
if(s1.equals(s2)) {
System.out.print(s2);
System.out.println("回答正确。再来一次?1...Yes/0...No");
}
else {
break Outer;
}
retry = stdIn.nextInt();
}while(retry==1);
System.out.print("回答错误。");
}
}
6-16
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner stdIn = new Scanner(System.in);
System.out.print("行数:");
int a = stdIn.nextInt();
System.out.print("列数:");
int b = stdIn.nextInt();
int c=1;
int[][] x=new int[a][b];
for(int i=0;i<a;i++){
for(int j=0;j<b;j++) {
x[i][j] = stdIn.nextInt();
c*=x[i][j];
}
}
for(int i=0;i<a;i++){
for(int j=0;j<b;j++) {
System.out.print(x[i][j]+"\t");
}
System.out.println();
}
System.out.print(c);
}
}
6-17
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner stdIn = new Scanner(System.in);
double c=0;
double d=0;
double y=0;
double[][] x=new double[6][2];
for(int i=0;i<6;i++){
for(int j=0;j<2;j++) {
x[i][j] = stdIn.nextDouble();
}
}
System.out.println("--------数学----语文--------");
for(int i=0;i<6;i++){
System.out.print("第"+(i+1)+"名学生:");
for(int j=0;j<2;j++) {
System.out.print(x[i][j]+"\t");
}
c+=x[i][0];
d+=x[i][1];
System.out.println();
}
System.out.println("语文平均分:"+c/6);
System.out.println("数学平均分: "+d/6);
for(int i=0;i<6;i++){
y=x[i][0]+x[i][1];
System.out.println("第"+(i+1)+"名学生的平均分是"+y/2);
}
}
}
6-18
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入行数:");
int rows = scanner.nextInt();
int[][] c = new int[rows][];
for (int i = 0; i < rows; i++) {
System.out.print("请输入第 " + (i+1) + " 行的列数:");
int cols = scanner.nextInt();
c[i] = new int[cols];
for (int j = 0; j < cols; j++) {
System.out.print("请输入第 " + (i+1) + " 行第 " + (j+1) + " 列的元素值:");
c[i][j] = scanner.nextInt();
}
}
for (int i = 0; i < c.length; i++) {
for (int j = 0; j < c[i].length; j++) {
System.out.printf("%3d", c[i][j]);
}
System.out.println();
}
}
}
6-19
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
System.out.print("班级数:");
int a = stdIn.nextInt();
double sum1=0,sum2=0;
int b1=0,b2=0;
double ave1=0,ave2=0;
for(int i=0;i<a;i++){
System.out.print((i+1)+"班人数:");
int b = stdIn.nextInt();
for(int j=0;j<b;j++){
double[][]x=new double[a][b];
System.out.print((i+1)+"班"+(j+1)+"号的分数:");
double c=stdIn.nextDouble();
if(i==0) {
sum1+=c;
ave1=sum1/b;
}
else
sum2+=c;
ave2=sum2/b;
}
}
System.out.println("班 总分 平均分");
System.out.println((a-1)+"班 "+sum1+" "+ave1);
System.out.println(a+"班"+" "+sum2+" "+ave2);
System.out.println("合计"+" "+(sum1+sum2)+" "+(ave1+ave2)/a);
}
}