当前位置:首页 > 自考JAVA语言程序设计(一)课后习题答案与源代码(实验大纲)
实验大纲
1 字符统计程序
程序运行结果:
统计字符源文件:StaChar.java
import javax.swing.*; /**
* 1 字符统计程序
* 利用对话框读入字符串 统计输入字符行中数字字符、英文字母个数.
* @author 黎明你好 */
public class StaChar { public static void main(String[] args) { String str = JOptionPane.showInputDialog(\请输入字符串:\); char[] c = str.toCharArray(); int numberCount = 0; int letterCount = 0; for (int i = 0; i < c.length; i++) { if (c[i] < '9' && c[i] > '0') numberCount++; else if ((c[i] > 'A' && c[i] < 'Z') || (c[i] > 'a' && c[i] < 'z')) letterCount++; } String result = \输入内容:\\n\ + str + \数字字符:\ + numberCount + \个; \ + \字母:\ + letterCount + \个\; JOptionPane.showMessageDialog(null, result, \结果:\, JOptionPane.INFORMATION_MESSAGE); } }
2 找质数程序
程序运行结果:
输出质数原文件:PrintPrime.java
import javax.swing.JOptionPane; /**
* 2 找质数程序,利用对话框读入整数,输出2至这个整数之间的质数.
* @author 黎明你好 */
public class PrintPrime { private int number;// 正整数 private String result = \; public PrintPrime()// 构造方法 { number = getIntegerNumber(\输入整数n\, 0);// 要求是>=0的整数 if (number < 0) { return;// 出现错误,程序结束 } else // 如果大于等于2,开始用循环计算结果 { for (int i = 2; i <= number; i++) // 计算素数和 { if (isPrimeNumber(i)) result += i + \; } } // 显示最后的和 JOptionPane.showMessageDialog(null, number + \之前所有素数为:\\n “\ + result + \, \显示结果\, JOptionPane.INFORMATION_MESSAGE); } /** * 通过图形界面,得到符合规则的正整数的方法 * @param message - 在弹出的对话框中,显示提示信息 * @param min - 要求此数必须大于等于min * @return - 返回符合规则的整数 */ public int getIntegerNumber(String message, int min) { String str = JOptionPane.showInputDialog(null, message, \提示信息\, JOptionPane.INFORMATION_MESSAGE); int number = -1; try {
number = Integer.parseInt(str); // 得到输入的正整数 } catch( Exception e ) { JOptionPane.showMessageDialog(null, \输入非数字字符\\n程序结束\, \错误警告\, JOptionPane.ERROR_MESSAGE); return -1; // 输入的不是数字字符,程序结束 } if (number < min) { JOptionPane.showMessageDialog(null, \输入的数不符合规则,不是正整数\\n程序结束\, \错误警告\, JOptionPane.ERROR_MESSAGE); return -1; // 输入的数不是大于2的正整数时候,程序结束 } else return number; } /** * 判断是否是素数的方法 * @param n - 需要判断的数 * @return - 是素数返回true,否则返回false */ public boolean isPrimeNumber(int n) { for (int i = 2; i < n; i++) { if (n % i == 0) return false; } return true; } /** main方法 */ public static void main(String[] args) { new PrintPrime(); } }
3 类的继承定义,包括几何形状类Shape、圆形类Circle.、矩形类Rectangle
/**
* 几何图形类,抽象类 */
abstract class Shape { public float area() { return 0.0f; } } /**
* 圆形类 */
class Circle extends Shape { private float R; public Circle(float r) { R = r; } public float area() { return (float) (Math.PI * R * R); } } /**
* 矩形类 */
class Rectangle extends Shape { private float w, h; public Rectangle(float w, float h) { this.w = w; this.h = h; } public float area() { return w * h; } }
public class Work11_3 { public static void main(String args[]) { Circle c; Rectangle r; c = new Circle(2.0f); r = new Rectangle(3.0f, 5.0f); System.out.println(\圆面积\ + returnArea(c)); System.out.println(\长方形面积\ + returnArea(r)); } static float returnArea(Shape s) { return s.area(); } }
4 数组排序程序
源文件:Work11_4.java
import javax.swing.*; import java.util.*;
共分享92篇相关文档