java语言程序设计课后习题答案解析 下载本文

内容发布更新时间 : 2024/5/17 23:10:56星期一 下面是文章的全部内容请认真阅读。

完美WORD格式

习题2

3.使用“= =”对相同内容的字符串进行比较,看会产生什么样的结果。

答:首先创建一个字符串变量有两种方式: String str = new String(\String str = \;

使用“= =”会因为创建的形式不同而产生不同的结果:

String str1 = \String str2 = \System.out.println(str1= =str2); //true

String str1 = new String(\String str2 = \System.out.println(str1= =str2); //false

String str1 = new String(\String str2 = new String(\System.out.println(str1= =str2); //false

因此自符串如果是对内容进行比较,使用equals方法比较可靠。 String str1 = \String str2 = \System.out.println(str1= =str2); //true

String str1 = new String(\String str2 = \

System.out.println(str1.equals(str2)); //true

String str1 = new String(\String str2 = new String(\

System.out.println(str1.equals(str2)); //true

5.编写一个程序,把变量n的初始值设置为1678,然后利用除法运算和取余运算把变量的每位数字都提出来并打印,输出结果为:n=1678。n的每位数字是1,6,7,8。

若n为任意值呢? 法一:

public class Exercise5{

public static void main(String[] args){

int n=1678; int unit; int decimal; int hundred; int thousand; int count;

thousand=n/1000; count=n00;

hundred=count/100; count=count0;

decimal=count/10; count=count;

unit=count;

System.out.println(\包含的数字分别是:

\'+unit); } }

//如果n为任意值 import java.io.*;

public class Exercise51{

public static void main(String[] args) throws IOException{

System.out.print(\请输入一个整数:\

InputStreamReader isStream=new InputStreamReader(System.in); BufferedReader bfReader=new BufferedReader(isStream); String input=bfReader.readLine(); int length=input.length()-1; int n=new

专业整理 知识分享

完美WORD格式

Integer(input).intValue();

while(length>=0){ int divisor=(int)

Math.pow(10,length);

length=length-1;

int output=n/divisor; n=n%divisor;

System.out.print(output+\ } } }

法二:(建议使用)

public class Exercise5{

public static void main(String[] args){

int n=1678; int unit; int decimal; int hundred; int thousand;

thousand=n/1000; hundred=n/100; decimal=n/10; unit=n;

System.out.println(\包含的数字分别是:

\'+unit); } }

//如果n为任意值 import java.io.*;

public class Exercise51{

public static void main(String[] args) throws IOException{

System.out.print(\请输入一个整数:\

InputStreamReader isStream=new InputStreamReader(System.in); BufferedReader bfReader=new BufferedReader(isStream); String input=bfReader.readLine(); int length=input.length()-1;

int n=new

Integer(input).intValue();

while(length>=0){ int divisor=(int)

Math.pow(10,length);

length=length-1;

int output=n/divisor; System.out.print(output+\ } } }

6.编写Java程序,接受用户输入的1-12之间的整数,若不符合条件则重新输入,利用switch语句输出对应月份的天数。 import java.io.*;

public class Exercise6{

public static void main(String[] args) throws IOException{ int n; do{

System.out.print(\请输入1-12之间的整数:\

InputStreamReader isStream=new InputStreamReader(System.in); BufferedReader bfReader=new BufferedReader(isStream); String input=bfReader.readLine(); n=new Integer(input).intValue(); }while(n>12||n<1);

switch(n){

case 2: System.out.println(n+\月份29天\ case 1: case 3: case 5: case 7: case 8: case 10:

case 12: System.out.println(n+\月份31天\ case 4:

专业整理 知识分享

完美WORD格式

case 6: case 9:

case 11: System.out.println(n+\月份30天\ } } } 7.编写Java程序计算小于一个整数的全部素数并输出。

import java.io.*;

public class Exercise7{

public static void main(String[] args) throws IOException{

System.out.print(\请输入一个整数:\

InputStreamReader isStream=new InputStreamReader(System.in); BufferedReader bfReader=new BufferedReader(isStream); String input=bfReader.readLine(); int n=new

Integer(input).intValue();

int i;

System.out.println(2); for(i=2;i

for(int j=2;j<=i/2+1;j++){ if (i%j==0) break; if (j==i/2+1)

System.out.println(i);

} } }}

9.编写Java程序实现:输入一组整数存放在数组中,比较并输出其中的最大值和最小值;在将数组元素从小到大排序并输出。 import java.io.*;

public class Exercise9{

public static void main(String[] args) throws IOException{ final int N=5;

int[] intArray=new int[N]; //数组的赋值

for(int i=0;i

System.out.print(\数组的第\个元素是:\ InputStreamReader isStream=new InputStreamReader(System.in); BufferedReader bfReader=new BufferedReader(isStream);

String input=bfReader.readLine(); int n=new

Integer(input).intValue(); intArray[i]=n; }

//求最大最小值

int max=intArray[0]; int min=intArray[0];

for(int j=0;jintArray[j]) min=intArray[j]; }

System.out.println(\最大值为:\

System.out.println(\最小值为:\

//从小到大排序 int temp;

for(int i=0;i

if(intArray[i]>intArray[j]){ temp=intArray[i];

intArray[i]=intArray[j]; intArray[j]=temp; } } }

//将排序后的结果打印

System.out.println(\排序后的数组为:\

for(int i=0;i

System.out.print(intArray[i]+\ } } }

专业整理 知识分享