习题23.使用“= =”对相同内容的字符串进行比较,看会产生什么样的结果。
答:首先创建一个字符串变量有两种方式:String str = new String("abc");String str = "abc";使用“= =”会因为创建的形式不同而产生不同的结果:String str1 = "abc";String str2 = "abc";=str2); ;public class Exercise51{public static void main(String[] args) throws IOException{"请输入一个整数:");InputStreamReader isStream=new InputStreamReader;BufferedReader bfReader=new BufferedReader(isStream);String input=();int length=()-1;int n=newInteger(input).intValue();while(length>=0){int divisor=(int) (10,length); length=length-1; int output=n/divisor;n=n%divisor;",");}}}法二:(建议使用)public class Exercise5{public static void main(String[] args){int n=1678;int unit;int decimal;int hundred;int thousand;thousand=n/1000%10;hundred=n/100%10;decimal=n/10%10;unit=n%10;"1678包含的数字分别是:"+thousand+','+hundred+','+decimal+', '+unit);}};public class Exercise51{public static void main(String[] args) throws IOException{"请输入一个整数:");InputStreamReader isStream=new InputStreamReader;BufferedReader bfReader=new BufferedReader(isStream);String input=();int length=()-1;int n=newInteger(input).intValue();while(length>=0){int divisor=(int) (10,length); length=length-1;int output=n/divisor%10;",");}}}6.编写Java程序,接受用户输入的1-12之间的整数,若不符合条件则重新输入,利用switch语句输出对应月份的天数。
import .*;public class Exercise6{public static void main(String[] args) throws IOException{int n;do{"请输入1-12之间的整数:");InputStreamReader isStream=new InputStreamReader;BufferedReader bfReader=new BufferedReader(isStream);String input=();n=new Integer(input).intValue(); }while(n>12||n<1);switch(n){case 2: "月份29天");break;case 1:case 3:case 5:case 7:case 8:case 10:case 12: "月份31天");break;case 4:case 6:case 9:case 11: "月份30天");break;}} }7.编写Java程序计算小于一个整数的全部素数并输出。
import .*;public class Exercise7{public static void main(String[] args) throws IOException{"请输入一个整数:");InputStreamReader isStream=new InputStreamReader;BufferedReader bfReader=new BufferedReader(isStream);String input=();int n=newInteger(input).intValue();int i;for(i=2;i<n;i++){for(int j=2;j<=i/2+1;j++){if (i%j==0) break;if (j==i/2+1) } }}}9.编写Java程序实现:输入一组整数存放在数组中,比较并输出其中的最大值和最小值;在将数组元素从小到大排序并输出。
import .*;public class Exercise9{public static void main(String[] args) throws IOException{final int N=5;int[] intArray=new int[N];ntValue();intArray[i]=n;};public class Exercise10{请输入正方形的边长:”)InputStreamReader isStream=new InputStreamReader;BufferedReader bfReader=new BufferedReader(isStream);String input=();int bianChang=(input);"周长为:"+bianChang*4);"面积为:"+bianChang*bianChang);}11.编写一个方法来计算1000以内的素数之和并输出。
public class Exercise11{public static void main(String[] args){int sum=2;for(int i=2;i<=100;i++){for(int j=2;j<=i/2+1;j++){if(i%j==0) break;if(j==i/2+1) }}}}12.使用数组存储一个英文句子“Java is an object oriented programming language.”显示该句子,并算出每个单词的平均字母数。
import .*;public class Exercise12{public static void main(String[] args){String[]str={"Java","is","an","object","orien ted","programming","language"};ength();}avr=(double)length/;"平均数的大小为:"+avr);}}14.定义一个4行4列的double型二维数组,并创建一个方法显示数组,计算任意给定的行,给定的列,主对角线和副对角线的和以及数组中的最大值。
import .*;public class Exercise14{public static void main(String[] args) throws IOException{double[][] array={ {2,4,5,7},{6,3,5,7},{6,7,4,4},{2,2,3,3}}; ntValue();"请输入选择的列(0-3):");InputStreamReader input2=new InputStreamReader;BufferedReader reader2=new BufferedReader(input2);String line=();int iline=newInteger(line).intValue();double sum=0;for(int i=0;i<4;i++){sum=sum+array[irow][i];}for(int j=0;j<4;j++){sum=sum+array[j][iline];};public class Exercise15{public static void main(String[] args) throws IOException{"请输入字符串:");InputStreamReader isStream=newInputStreamReader;BufferedReader bfReader=newBufferedReader(isStream);String input=();char[] change=();for(int i=0;i<();i++){if (change[i]))change[i]=(change[i]);elsechange[i]=(change[i]);}"转化后的字符串:");for(int i=0;i<();i++){}}16.用一段代码检测两个double型的数x 和y是否相等。
代码应能分辨这两个数是否是无穷大或NaN.如果它们相等,代码能正确显示这个数。
public class Exercise16{public static void main(String[] args){double x=;double y=0;if(x==||y=={"x或y无穷大!");}if(x)||(y)){"x或y无穷大!");}写一个方法,把命令行输入的字符串转化为相应的int值。
思考:如果字符串不能代表整数时该怎么办import .*;public class Exercise17{public static void main(String[] args) throws NumberFormatException{int[] array=new int[];for(int i=0;i<;i++){try{newInteger(args[i]).intValue();}catch(Exception e){continue;}array[i]=newInteger(args[i]).intValue();}for(int i=0;i<;i++){"*");}}}19.创建一个有两个方法的程序。