欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java第二章作业

程序员文章站 2022-07-14 20:03:01
...

1
编写一个应用程序,给出汉字‘你’、‘我’、‘他’在Unicode表中的位置。

我的答案:

Java第二章作业记事本里写得程序;

运行结果:

Java第二章作业
正确答案:

public class E {
public static void main(String args[]) {
System.out.println((int)'你');
System.out.println((int)'我');
System.out.println((int)'他');
}
}

2
编写应用程序,输出满足1+2+3…+n<8888的最大正整数n。

我的答案:

Java第二章作业
运行结果:

Java第二章作业
作答错误,最后应为 i=i-2;
判断在比较之前就+1,而且之后又加了 1;

正确答案:

public class Xiti6 {
  public static void main(String args[]) {
      int n=1;
      long sum=0;
      while(true) {
        sum=sum+n;
        n++;
        if(sum>=8888) 
          break;
      }
      System.out.println("满足条件的最大整数:"+(n-2));
   }
}

3
输入8个整数放入数组中,把其中最大的元素与第一个元素交换,最小的元素与最后一个元素交换,输出交换后的数组。

我的答案:

Java第二章作业
运行结果:

Java第二章作业
正确答案:

import java.util.*;
public class Lianxi{
public static void main(String[] args) {
   int N = 8;
   int[] a = new int [N];
   Scanner s = new Scanner(System.in);
   int idx1 = 0, idx2 = 0;
   System.out.println("请输入8个整数:");
   for(int i=0; i<N; i++) {
    a[i] = s.nextInt();
}
   System.out.println("你输入的数组为:");
   for(int i=0; i<N; i++) {
     System.out.print(a[i] + " ");
   }
   int max =a[0];
   for(int i=0; i<N; i++) {
    if(a[i] > max) {
     max = a[i];
     idx1 = i;
    } 
   } 
   if(idx1 != 0) {
    int temp = a[0];
    a[0] = a[idx1];
    a[idx1] = temp;
   }
int min = a[0];
for(int i=0; i<N; i++) {
    if(a[i] < min) {
     min = a[i];
     idx2 = i;
    }
   } 
    if(idx2 != N-1) {
    int temp = a[N-1];
    a[N-1] = a[idx2];
    a[idx2] = temp;
   }
   System.out.println("\n交换后的数组为:");
   for(int i=0; i<N; i++) {
    System.out.print(a[i] + " ");
   }
}
}

4
编写一个应用程序求100以内的全部素数。

我的答案:

Java第二章作业
运行结果:

Java第二章作业
正确答案:

public class Xiti2 {
  public static void main(String args[]) {
      int i,j;
      for(j=2;j<=100;j++) { 
          for(i=2;i<=j/2;i++) {
             if(j%i==0) 
               break;
          }
          if(i>j/2) {
             System.out.print(" "+j);
          }
      }
   }
}

4
编写应用程序,使用for循环语句计算8+88+888…前10项之和。

我的答案:

Java第二章作业
运行结果:

Java第二章作业
正确答案:

public class Xiti5 {
  public static void main(String args[]) {
     int m=8,i=1;
     long sum=0,item=m;
     for(i=1,sum=0,item=m;i<=10;i++) {
        sum=sum+item;
        item=item*10+m;
     }
     System.out.println(sum);
  }
}

5
分别用do-while和for循环计算1+1/2!+1/3!+1/4!… … 的前10项和。

我的答案:

Java第二章作业

运行结果:

Java第二章作业
正确答案:

class Xiti3 {
  public static void main(String args[]) {
      double sum=0,a=1,i=1;
      do { sum=sum+a;
           i++;
           a=(1.0/i)*a;
       }
       while(i<=10);
       System.out.println("使用do-while循环计算的sum="+sum);
       for(sum=0,i=1,a=1;i<=20;i++) {
          a=a*(1.0/i);
           sum=sum+a;
       }
       System.out.println("使用for循环计算的sum="+sum);
   }
}

相关标签: Java javascript