System.out.println(\ System.out.println(\ System.out.println(\ } }
(8) 判断回文字符串
回文是一种“从前向后读”和“从后向前读”都相同的字符串。如“rotor”是一个回文字符串。
程序中使用了两种算法来判断回文字符串: 算法一:分别从前向后和从后向前依次获得原串str的一个字符ch1、ch2,比较ch1和ch2,如果不相等,则str肯定不是回文串,yes=false,立即退出循环:否则继续比较,直到字符全部比较完,yes的值仍为true,才能肯定str是回文串。
算法二:将原串str反转成temp串,再比较两串,如果相等则是回文字符串。 (9) 使用String类的compareTo(String s)方法,对以下字符串从小到大排序:“melon”, “apple”, “pear”, “banana”,显示输出排序结果。
要求:
(1) 编译调试程序之前应配置好环境变量;
(2) 要分别掌握用JDK命令行和Eclipse集成开发环境调试Java程序; (3) 注意Java两大类程序:应用程序和小程序的区别。
程序清单:
(建议程序中适当添加注释信息,增强可读性;较长程序可分栏书写,保证报告排版整洁美观。)
(1)主方法传递参数“Hello world”字符串,并输出
public class Hello { public Hello(){
System.out.println(\ }
public static void main(String args[]){ new Hello(); } }
(2)Eclipse编译Java Applet import java.awt.*;
import java.applet.Applet;
public class HelloApplet extends Applet { int height,width; public void init(){ this.height=100; this.width=300; }
4
public void paint(Graphics g){ g.setColor(Color.red);
g.drawString(\ } } (3)
package b;
import java.util.Scanner; public class Test {
public static void main(String args[]){ int score; //char grade;
System.out.println(\请输入分数按回车\ Scanner reader=new Scanner(System.in); score=reader.nextInt(); if(score>=90&&score<=100){ System.out.println(\ }
else if(score>=70&&score<=89){ System.out.println(\ }
else if(score>=60&&score<=69){ System.out.println(\ }
else if(score<60){
System.out.println(\ } else{
System.out.println(\数据错误\ } } } (4)
public class Lim {
public static void main(String[] args) { int[] prime = calculation(20, 200, 300); for (int i = 0; i < prime.length; i++) { if (prime[i] != 0) {
if (i % 10 == 0 && i != 0) System.out.println();
System.out.print(prime[i] + \打印数据 }
}
5
}
public static int[] calculation(int length, int start, int end) { int j;
int step = 0;
int[] prime = new int[length];
for (int i = start; i <= end; i++) {
j = 2;
while (i % j != 0) { j++; }
if (j == i) {
prime[step] = i; step++; } }
return prime;
} } (5)
① public class shuzu {
public static void main(String args[]){ int i,j;
int arr[][]=new int[4][]; for(i=0;i
arr[i]=new int[arr.length]; for(i=0;i<4;i++)
for(j=3;j>=i;j--){ arr[i][j]=i; }
for(j=0;j<4;j++){ for(i=3;i>=j;i--){ arr[i][j]=j; } }
for(i=0;i<=3;i++){ for(j=0;j<=3;j++){
System.out.print(arr[i][j]); System.out.print(\ }
System.out.println();
6
} } }
②public class Shuzu {
public static void main(String args[]){ int num[][]=new int[4][];
for(int i=0;i for(int m=0;m int k=i+1; for(int j=0;j num[i][j]=j+1; else{ k--; num[i][j]=k; } System.out.print(num[i][j]+\ } System.out.println(); } } } (6) public class test { public static void main(String[] args) { // TODO Auto-generated method stub int[][] mat = {{11,12,13},{4,5,6},{7,8,9}}; for (int i=0;i for(int j=0;j System.out.print(mat[i][j]+\ System.out.println(); } boolean find = false; //找到鞍点标记 int row=0; //第1行下标 int max=0; //记录当前行最大值的列下标 while (!find && row max=0; //初始设每行第1列值最大 for (int j=1;j 7 if (mat[row][j]>mat[row][max]) //mat[row][max]为该行最大值 max = j; boolean yes = true; //再判断mat[row][max]是否在列上最小 int j=0; while (yes && j if(mat[j][max] if (yes) find = true; else row++; } if (find) System.out.println(\ else System.out.println(\ } } (8) import java.util.Scanner; public class HuiWenTest { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(\请输入一个字符串\ @SuppressWarnings(\ Scanner input = new Scanner(System.in); String str = input.next(); StringBuilder sb=new StringBuilder(str); sb.reverse();//将Sr倒置的方法 String newStr=new String(sb); if(str.equals(newStr)){ System.out.println(str+\是回文字符串\ }else{ System.out.println(str+\不是回文字符串\ } } } (9) import java.util.*; public class SortString { public static void main(String[] args) { // TODO Auto-generated method stub String [ ] a={\ 8