分和小数部分分别输出。
答:见程序。/* 原来的程序 public class MyJavaClass {
public static void main() {
System.out.printIn(\; }
System.out.printIn(\程序结束。\; } */
public class Ex3_1 {
public static void main(String [] args) { System.out.println(\ System.out.println(\程序结束。\ } }
9.编写一个字符界面的Java Application程序,接受用户输入的10个整数,比较并输出其中的最大值和最小值。
答:见程序。import java.io.*; public class Ex3_9 { public static void main(String[] args) { int N = 10; int [] a = new int[N]; //声明数组并分配空间 try{ BufferedReader in = new BufferedReader( new InputStreamReader( System.in ) ); for( int i=0; i
10.编写一个字符界面的Java Application程序,接受用户输入的字符,以―#‖标志输入的结束;比较并输出按字典序最小的字符。
答:见程序。import java.io.*;
public class Ex3_10 { public static void main(String[] args) { char min = '\?'; System.out.print(\请输入一串字符,以#结束:\ while( true ) { char c = ' '; try{ c = (char) System.in.read(); }catch(IOException e){} if( c == '#' ) break; if( min > c ) min = c; } System.out.println(\其中最小的字符是: \ } }
11.结构化程序设计有哪三种基本流程?分别对应Java中的哪些语句?
答:任何程序都可以且只能由三种基本流程结构构成,即顺序结构、分支结构和循环结构。顺序结构直接书写,分支结构用if及switch语句书写,循环结构用for、while及do语句来书写。
12.编写一个Java程序,接受用户输入的一个l-12之间的整数(如果输入的数据不满足这个条件,则要求用户重新输入),利用switch语句输出对应月份的天数。
答:见程序。import java.io.*; public class Ex3_12 { public static void main(String[] args) { try{ BufferedReader in = new BufferedReader( new InputStreamReader( System.in ) ); int a = 0; do{ System.out.print(\请输一个1~12的整数: \ String s = in.readLine(); a = Integer.parseInt( s ); }while( a <1 || a > 12 ); switch( a ){ case 1: System.out.println(\一月\ case 2: System.out.println(\二月\ case 3: System.out.println(\三月\ case 4: System.out.println(\四月\ case 5: System.out.println(\五月\ case 6: System.out.println(\六月\ case 7: System.out.println(\七月\
case 8: System.out.println(\八月\ case 9: System.out.println(\九月\ case 10: System.out.println(\十月\ case 11: System.out.println(\十一月\ case 12: System.out.println(\十二月\ default: break; } }catch(IOException e){} } }
13.在一个循环中使用break,continue和return语句有什么不同的效果?
答:break是结束循环;continue是直接进行下一次循环;return则是结束整个函数的调用。 14.编写图形界面下的Java Applet程序,接受用户输入的两个数据为上、下限,然后10个一行输出上、下限之间的所有素数。
import java.applet.*; import java.awt.*;
import java.awt.event.*;
public class Ex3_14 extends Applet { TextField in1 = new TextField(10); TextField in2 = new TextField(10); Button btn = new Button(\求两个数之间的素数\ TextArea out = new TextArea(10,100); //用于输出 public void init() { setLayout( new FlowLayout() ); add( in1 ); add( in2 ); add( btn ); add( out ); btn.addActionListener( new BtnActionAdapter() ); } class BtnActionAdapter implements ActionListener { public void actionPerformed( ActionEvent e ) { String s1 = in1.getText(); int a1 = Integer.parseInt( s1 ); String s2 = in2.getText(); double a2 = Integer.parseInt( s2 ); String result = \结果 int cnt = 0; //计算素数的个数 for( int i = a1; i<=a2; i++ ){ if( isPrime( i ) ){ result += (\如果是素数,则加入 cnt ++; if( cnt % 10 == 0 ) result += \ else result += \ }
} out.setText( result); } public boolean isPrime( int a )//判断一个数是否是素数 { if( a <= 1 ) return false; for( int i=2; i
15.编写程序输出用户指定数据的所有素数因子。 答:见程序。import java.io.*; public class Ex3_15 { public static void main(String[] args) { try{ BufferedReader in = new BufferedReader( new InputStreamReader( System.in ) ); System.out.print(\请输入一个正整数: \ String s = in.readLine(); int a = Integer.parseInt( s ); System.out.println( a + \的所有素因子包括: \ for( int i=2; i<=a; i++ ){ if( a%i==0 && isPrime(i) ){ System.out.println( i ); } } }catch(IOException e){} } public static boolean isPrime( int a )//判断一个数是否是素数 { if( a <= 1 ) return false; for( int i=2; i
16.什么是数组?数组有哪些特点?Java中创建数组需要使用哪些步骤?如何访问数组的一个元素?数组元素的下标与数组的长度有什么关系?
答:数组是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和下标来惟一地确定数组中的元素。
数组要进行定义和分配空间后才能使用。 一维数组的定义方式为:
type arrayName[ ];
或 type [ ] arrayName;
分配内存空间则要用到运算符new,其格式如下:
arrayName = new type[arraySize];
当定义了一个数组,并用运算符new为它分配了内存空间后,就可以引用数组中的每一个元素了。数组元素的引用方式为:
arrayName[index]
数组元素的下标从0开始,一直到数组的长度减1。
17.数组元素怎样进行缺省的初始化?
答:数组元素可以在定义数组的同时进行初始化。例如:
int a[ ] = {1,2,3,4,5};
用逗号(,)分隔数组的各个元素,系统自动为数组分配一定的空间。
18.编程求一个整数数组的最大值、最小值、平均值和所有数组元素的和。 答:见程序。import java.io.*; public class Ex3_18 { public static void main(String[] args) { int N = 100; int [] a = new int[N]; for( int i=0; i
19.求解―约瑟夫问题‖:12个人排成一圈,从1号报数,凡是数到5的人就出队列(出局),然后继续报数,试问最后一人出局的是谁。
答:import java.io.*; public class Ex3_19 { public static void main(String[] args) { int N = 12; boolean [] a = new boolean[N]; //队列状态 for( int i=0; i