JAVA经典实用程序代码
更新时间:2024-04-29 07:23:01 阅读量: 综合文库 文档下载
- Java经典代码推荐度:
- 相关推荐
1百分制分数到等级分数 package pm;
public class SwitchTest { //编写程序,实现从百分制分数到等级分数的转换 // //>=90 A // 80~89 B // 70~79 C // 60~69 D // <60 E public static void main(String[] args) { int s=87; switch(s/10){
case 10 :System.out.println(\ case 9 :System.out.println(\ case 8 :System.out.println(\ case 7 :System.out.println(\ case 6 :System.out.println(\ default :System.out.println(\ } } }
2成法口诀阵形 package pm;
public class SwitchTest{ public static void main(String[] args){ for(int i=1;i<=9;i++){ for(int j=1;j<=i;j++){ System.out.print(j+\ } System.out.println(); }
} }
3华氏和摄氏的转换法
package pm;
import java.util.Scanner; public class SwitchTest { public static void main(String[] args) { Scanner sc=new Scanner(System.in); while (true) { System.out.println(\请输入要转换的温度类型:C 或 F\ String s = sc.next().trim(); if (\ //做摄氏向华摄的转换 System.out.println(\请输入要转换摄氏的温度:..\ double db = sc.nextDouble(); double db2 = (db * 9 / 5) + 32; System.out.println(\对应的华氏温度:\ } else if (\ //做华摄向摄氏的转换 System.out.println(\请输入要转换华氏的温度:..\ double db = sc.nextDouble(); double db2 = (db - 32) * 5 / 9; System.out.println(\对应的摄氏温度:\ }else if(\ break; } } } }
package pm;
import java.util.Scanner;
public class SwitchTest{ public static void main(String[] args) { Scanner sc=new Scanner(System.in); boolean flag=true; while (flag) { System.out.println(\请输入要转换的温度,如:50c或100f\ String str = sc.nextLine().trim(); if (str.endsWith(\ //做摄氏向华摄的转换 30c String st = str.substring(0, str.length() - 1); double db = Double.parseDouble(st);//[0,2) //2 double db=Double.valueOf(st).doubleValue(); double db2 = (db * 9 / 5) + 32; System.out.println(\对应的华氏温度:\ } else if (str.endsWith(\ //做华摄向摄氏的转换 String st = str.substring(0, str.length() - 1); double db = Double.parseDouble(st);//[0,2) //2 double db=Double.valueOf(st).doubleValue(); double db2 = (db - 32) * 5 / 9; System.out.println(\对应的摄氏温度:\ }else if(\ flag=false; } } } }
4三个数的最大数 package pm;
public class SwitchTest { public static void main(String[] args) { int a=1,b=2,c=3,d=0; d=a>b?a:b;
d=a>b?(a>c?a:c):(b>c?b:c); System.out.println(\最多数为:\ } }
5简单计算器的小程序
package one;
import java.awt.BorderLayout; import java.awt.GridLayout;
import java.awt.event.ActionEvent; import java.awt.event.ActionListener;
import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField;
public class Jsq implements ActionListener { private JFrame frame; private JButton[] bus; private JTextField jtx; private JButton bu; private char[] strs; private String d_one = \ private String operator; public static void main(String[] args) { new Jsq(); }
/* 利用构造进行实例化 */ public Jsq() { frame = new JFrame(\计算器\ jtx = new JTextField(14); bus = new JButton[16]; strs = \ for (int i = 0; i < 16; i++) { bus[i] = new JButton(strs[i] + \ bus[i].addActionListener(this); } bu = new JButton(\ bu.addActionListener(this); init(); }
/* GUI 初始化 */ public void init() { JPanel jp1 = new JPanel(); jp1.add(jtx); jp1.add(bu); frame.add(jp1, BorderLayout.NORTH); }
/* 事件的处理 */
public void actionPerformed(ActionEvent arg0) { /*获取输入字符*/ String conn = arg0.getActionCommand(); /*清除计算器内容*/ if (\
JPanel jp2 = new JPanel();
jp2.setLayout(new GridLayout(4, 4)); for (int i = 0; i < 16; i++) { jp2.add(bus[i]); }
frame.add(jp2, BorderLayout.CENTER);
frame.pack();
frame.setLocation(300, 400); frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
d_one = \ operator = \ jtx.setText(\ return; }
/*暂未实现该功能*/ if(\ return; }
/*记录运算符,保存运算数字*/ if ((\ if(\ d_one = jtx.getText(); operator = conn; jtx.setText(\ return; }
/*计算结果*/
if (\ if(\ double db = 0; if (\ db = Double.parseDouble(d_one) + Double.parseDouble(jtx.getText()); jtx.setText(db + \ } if (\ db = Double.parseDouble(d_one) - Double.parseDouble(jtx.getText()); jtx.setText(db + \ } if (\ db = Double.parseDouble(d_one) * Double.parseDouble(jtx.getText()); jtx.setText(db + \ } if (\ db = Double.parseDouble(d_one) / Double.parseDouble(jtx.getText()); jtx.setText(db + \ } d_one = db + \ return; }
//界面显示 jtx.setText(jtx.getText() + conn); } }
6三角形图案
package pm;
public class SwitchTest{ public static void main(String[] args){ int n=5; for(int i=0;i<=n;i++){ for(int j=0;j 7输出输入的姓名 package pm; import java.util.Scanner; public class SwitchTest{ public static void main(String[] args){ String name=null; Scanner sca=new Scanner (System.in); char firstChar; do{ System.out.println(\ name=sca.nextLine(); firstChar=name.charAt(0); }while(!(firstChar>='a' && firstChar<='z' || firstChar>='A' && firstChar<='Z')); System.out.println(\ } } 8一小时倒计时小程序 package pm; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; public class SwitchTest { private JFrame frame; private JLabel jl1; private JLabel jl2; private JLabel jl3; /*主方法*/ public static void main(String[] args) { new SwitchTest().getTime(); } /*倒计时的主要代码块*/ private void getTime(){ long time=1*3600; long hour =0 ; long minute =0 ; long seconds=0; while(time>=0){ hour=time/3600; minute=(time-hour*3600)/60; seconds=time-hour*3600-minute*60; jl1.setText(hour+\时\ jl2.setText(minute+\分\ jl3.setText(seconds+\秒\ try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } time--; } } /*构造 实现界面的开发 GUI */ public SwitchTest(){ frame = new JFrame(\倒计时\ jl1 = new JLabel(); jl2 = new JLabel(); jl3 = new JLabel(); init(); } /*组件的装配*/ private void init(){ JPanel jp=new JPanel(); jp.add(jl1); jp.add(jl2); jp.add(jl3); frame.add(jp); frame.setVisible(true); frame.setLocation(300,400); frame.setSize(300, 200); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } 9棋盘图案 public class Sjx{ public static void main(String[] args){ int SIZE=19; for(int i=0;i public class ArrayTest { public static void main(String[] args){ char[][] arr=new char[4][7]; String s=\朝辞白帝彩云间千里江陵一日还两岸猿声啼不住轻舟已过万重山\ for(int i=0;i } } 11找出满足条件的最小数 package day02; public class Fangk{ public static void main(String[] args){ // for(int i=1000;i<=9999;i++){ // int q=i/1000; // int b=i/100; // int s=i/10; // int g=i; // if(q>b && s>g && q+g==b+s && b%2!=0){ // System.out.println(\// break; // } // } loop1: for(int q=1;q<=9;q++){ loop2: for(int b=0;b<=9;b++){ if(b%2==0){ continue loop2; } for(int s=0;s<=9;s++){ for(int g=0;g<=9;g++){ if(q>b && s>g && q+g==b+s){ System.out.println(\is:\ break loop1; } } } } } } } Min Number 12判断一个数是否是素数 package day02; public class Fangk{ public static void main(String[] args){ int num=14; boolean flag=true; for(int i=2;i<=num/2;i++){ if(num%i==0){ flag=false; break; } } if(flag){ System.out.println(num+\ }else{ System.out.println(num+\ } } } ////////////////////////////////////////////////////////////////////// package day04; import java.util.Scanner; public class A1{ public static void main(String[] args){ int n; Scanner sca=new Scanner(System.in); System.out.println(\ n=sca.nextInt(); if(isPrimeNumber(n)){ System.out.println(n+\ }else{ System.out.println(n+\ } } public static boolean isPrimeNumber(int n){ for(int i=2;i<=n/2;i++){ if(n%i==0){ return false; } } return true; } } 13一个数倒序排列 package day02; public class Daoxu{ public static void main(String[] args){ int olddata=3758; int newdata=0; while(olddata!=0){ for(int i=0;i<4;i++){ newdata=newdata*10+olddata; olddata=olddata/10; } System.out.println(\ } } } 14将一个整数以二进制输出 package day04; import java.util.Scanner; public class ArrayTest { public static void main(String[] args){ int n; Scanner s=new Scanner(System.in); System.out.println(\ n=s.nextInt(); for(int i=31;i>=0;i--){ if((n&(1< 15矩形图案 package day02; public class Fangk { public static void main(String[] args){ int m=5,n=6; for(int i=0;i } } 16猜数字 package day02; import java.util.Scanner; public class Csz { public static void main(String[] args) { Scanner s = new Scanner(System.in); int num = (int) (Math.random() * 1000); int m=0; for(int i=9;i>=0;i--){ System.out.println(\ m=s.nextInt(); if(m>num){ System.out.println(\ }else if(m 17.HotelManager package hotel; import java.util.Scanner; public class HotelManager { private static String[][] rooms;// 表示房间 public static void main(String[] args) { rooms = new String[10][12]; String comm;// 表示用户输入的命令 for (int i = 0; i < rooms.length; i++) { for (int j = 0; j < rooms[0].length; j++) { rooms[i][j] = \ } } // while (true) { System.out.println(\请输入命令:\ Scanner sca = new Scanner(System.in); System.gc(); comm = sca.next(); if (\ search(); } else if (\ int roomNo = sca.nextInt(); String name = sca.next(); in(roomNo, name); } else if (\ int roomNo = sca.nextInt(); out(roomNo); } else if (\ System.out.println(\程序退出...\ break; } else { System.out.println(\命令输入错误,请重新输入:\ } } } private static void out(int roomNo) { if(\ System.out.println(\该房间没有客人入住,退房失败!\ } return; } rooms[(roomNo/100)-1][(roomNo0)-1]=\System.out.println(roomNo+\退房成功!\ private static void in(int roomNo, String name) { if(!\ System.out.println(\该房间已经有客人入住!\ return; } rooms[(roomNo/100)-1][(roomNo0)-1]=name; System.out.println(name+\成功入住\房间!\ } private static void search() { for (int i = 0; i < rooms.length; i++) { //打印房间号 for (int j = 0; j < rooms[0].length; j++) { if (j + 1 < 10) { System.out.print(i + 1 + \\ } else { System.out.print(i + 1 + \ } } //打印房间状态 System.out.println(); for (int j = 0; j < rooms[0].length; j++) { System.out.print(rooms[i][j] + \\ } System.out.println(); } } } 18.StudentManager package day05.student_manager; import java.util.Scanner; public class StudentManager { static int[][] scores=new int[6][5]; static String[] students={\ static String[] courses={\ public static void main(String[] args) { for(int i=0;i // int cIndex=-1; for(int i=0;i public static void sort(String course){ int[] courseScore=new int[scores.length]; if(course.equals(\如果求总分的排名 //求出每个学生的总分,将成绩存放在courseScore数组中 for(int i=0;i courseScore[i]=studentSum; } }else{//如果不是求总分排名 int cIndex=-1; for(int i=0;i String[] studentCopy=new String[students.length]; System.arraycopy(students, 0, studentCopy, 0, students.length); for(int i=0;i int order=1; System.out.println(\名次\\t学生\\t成绩\for(int i=0;i } System.out.print(order+\ System.out.print(studentCopy[i]+\ System.out.println(courseScore[i]); order++; } } public static void get(String student,String course){ int sIndex=-1; int cIndex=-1; for(int i=0;i if(sIndex==-1){ System.out.println(\没有这个学生:\ return; } if(course.equals(\如果求总分 int studentSum=0; for(int j=0;j for(int i=0;i if(cIndex==-1){ System.out.println(\没有这门课程:\ return; } System.out.println(student+\学生的\课程的成绩为 : \ } } 19.Five package hotel; import java.util.Scanner; /** * 首先在程序第一次运行的时候,构建出棋盘,切以后 * 不能再从新构建,知道结束,所以将其放到静态代码块中。 * @author zhz * */ public class Five { //由于矩阵要保存输入的信息,所以要设置成全局变量,整个程序就一个 private static String[][] five=new String[17][17]; static{ //构建并打印棋盘 drawFive(); } public static void main(String[] args) { //请白棋下子 while(true){ System.out.println(\请白棋下子\ Point p1=pleaseIn(); if(!five[Integer.parseInt(p1.getX())][Integer.parseInt(p1.getY())].equals(\ System.out.println(\无效的位置,视为自动放弃\ } runPoint(p1,\ gameover(p1); System.out.println(\请黑棋下子\ Point p2=pleaseIn(); if(!five[Integer.parseInt(p2.getX())][Integer.parseInt(p2.getY())].equals(\ System.out.println(\无效的位置,视为自动放弃\ } runPoint(p2,\ gameover(p2); } } //根据用户的输入信息,对棋盘的坐标进行赋值,白棋@ 黑棋O,并且将当前棋盘的信息输出 private static void runPoint(Point p,String str){ //根据px py来获取行和列的坐标 int x=Integer.parseInt(p.getX()),y=Integer.parseInt(p.getY()); if(str.equals(\ five[x][y]=\ }else{ five[x][y]=\ } outFive(); } //用户输入要放棋子的坐标 并且自动转换为具体的坐标 private static Point pleaseIn(){ Scanner sc=new Scanner(System.in); Point p=new Point(sc.next(),sc.next()); String px=p.getX(); String py=p.getY(); //根据px py来获取行和列的坐标 int x=0,y=0; for(int i=1;i */ public static void gameover(Point p) { int x=Integer.parseInt(p.getX()),y=Integer.parseInt(p.getY()); int c1 = 0, c2 = 0, c3 = 0, c4 = 0; boolean l1 = true, l2 = true, l3 = true, l4 = true, l5 = true, l6 = true, l7 = true, l8 = true; for (int i = 1; i <5 ; i++) { // 竖直向上 if (y - i >= 1 && five[x][y - i].equals(five[x][y]) && l1) { c1++; } else { l1 = false; } // 竖直向下 if (y + i <= 16 && five[x][y + i].equals(five[x][y]) && l2) { c1++; } else { l2 = false; } // 水平向左 if (x - i >= 1 && five[x - i][y].equals(five[x][y]) && l3) { c2++; } else { l3 = false; } // 水平向右 if (x + i <= 16 && five[x + i][y].equals(five[x][y]) && l4) { c2++; } else { l4 = false; } // 斜向左上 if (x - i >= 1 && y - i >= 1 && five[x - i][y - i].equals(five[x][y]) && l5) { c3++; } else { l5 = false; } // 斜向右下 if (x + i <= 16 && y + i <= 16 && five[x + i][y + i].equals(five[x][y]) && l6) { c3++; } else { l6 = false; } // 斜向左下 if (x - i >= 1 && y + i <= 16 && five[x - i][y + i].equals(five[x][y]) && l7) { c4++; } else { l7 = false; } // 斜向右上 if (x + i <= 16 && y - i >= 1 && five[x + i][y - i].equals(five[x][y]) && l8) { c4++; } else { l8 = false; } } if (c1 >= 4 || c2 >= 4 || c3 >= 4 || c4 >= 4) { if (five[x][y].equals(\ System.out.println(\黑棋获胜!\ System.exit(0); } else { System.out.println(\白棋获胜!\ System.exit(0); } } } //构造棋盘 private static void drawFive(){ //构建棋盘边框 String[] sr=new \ five[0]=sr; String[]{\ for(int i=0;i 20.CardGame package day05.cardGame; import java.util.Scanner; public class CardGame { static int[] twoHandsCards=new int[6]; static int userAMoney=0; static int userBMoney=0; public static void main(String[] args) { Scanner s=new Scanner(System.in); System.out.println(\请输入总赌本:\ userAMoney=s.nextInt(); userBMoney=userAMoney; int currentMoney=0; while(userAMoney>0 && userBMoney>0){ System.out.println(\请输入本局赌注:\ currentMoney=s.nextInt(); if(currentMoney<=0 || currentMoney>userAMoney || currentMoney>userBMoney){ System.out.println(\赌注不正确,请重新输入!\ continue; } dispatchCards(); printCards(twoHandsCards); if(compare()>0){ userAMoney+=currentMoney; userBMoney-=currentMoney; System.out.println(\玩家获胜!\ }else if(compare()<0){ userAMoney-=currentMoney; userBMoney+=currentMoney; System.out.println(\电脑获胜!\ }else{ System.out.println(\平局!\ } System.out.println(\玩家赌本:\电脑赌本:\ } } public static void dispatchCards(){ int i=0; while(i } } } public static void printCards(int[] oneHandCards){ for(int i=0;i public static int compare(){ int[] aCards=new int[3]; int[] bCards=new int[3]; for(int i=0;i<3;i++){ aCards[i]=twoHandsCards[i]; } for(int i=3;i<6;i++){ bCards[i-3]=twoHandsCards[i]; } return fromCardsToNumber(aCards)-fromCardsToNumber(bCards); } public static int fromCardsToNumber(int[] oneHandCards){ for(int i=0;i for(int j=i+1;j ds[2]0; } return num; } } 1,编写程序,判断给定的某个年份是否是闰年。 闰年的判断规则如下: (1)若某个年份能被4整除但不能被100整除,则是闰年。 (2)若某个年份能被400整除,则也是闰年。 import java.util.Scanner; class Bissextile{ public static void main(String[] arge){ System.out.print(\请输入年份\ int year; //定义输入的年份名字为“year” Scanner scanner = new Scanner(System.in); year = scanner.nextInt(); if (year<0||year>3000){ System.out.println(\年份有误,程序退出!\ System.exit(0); } if ((year%4==0)&&(year0!=0)||(year@0==0)) System.out.println(year+\ else System.out.println(year+\ } } 2,给定一个百分制的分数,输出相应的等级。 90分以上 A级 80~89 B级 70~79 C级 60~69 D级 60分以下 E级 import java.util.Scanner; class Mark{ public static void main(String[] args){ System.out.println(\请输入一个分数\ //定义输入的分数为“mark”,且分数会有小数 double mark; Scanner scanner = new Scanner(System.in); mark = scanner.nextDouble(); //判断是否有输入错误。 if(mark<0||mark>100){ System.out.println(\输入有误! \ System.exit(0); } /*判断分数的等级 90分以上者A级, 80~89分者 B级,70~79分者 C级, 60~69者 D级,60分以下 E级 */ if (mark>=90) System.out.println(\ else if (mark>=80) System.out.println(\ else if (mark>=70) System.out.println(\ else if (mark>=60) System.out.println(\ else System.out.println(\ } } 3,编写程序求 1+3+5+7+……+99 的和值。 class he{ public static void main(String[] args){ int number = 1; //初始值1,以后再+2递增上去 int sum = 0; for ( ; number <100; number+=2 ){ sum += number; } System.out.println(\ } } 4、利用for循环打印 9*9 表? 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 //循环嵌套,打印九九乘法表 public class NineNine{ public static void main(String[]args){ System.out.println(); for (int j=1;j<10;j++){ for(int k=1;k<10;k++) { //老师的做法,判断语句里的 k<=j,省去下列的if语句。 if (k>j) break; //此处用 continue也可以,只是效率低一点 System.out.print(\ } System.out.println(); } } } 6、输出所有的水仙花数,把谓水仙花数是指一个数3位数,其各各位数字立方和等于其本身, 例如: 153 = 1*1*1 + 3*3*3 + 5*5*5 class DafodilNumber{ public static void main(String[] args){ System.out.println(\以下是所有的水仙花数\ int number = 100; // 由于水仙花数是三位数,故由100开始算起 int i, j, k; // i j k 分别为number 的百位、十位、个位 for (int sum; number<1000; number++){ i=number/100; j=(number-i*100)/10; k=number-i*100-j*10; sum=i*i*i+j*j*j+k*k*k; if (sum==number) System.out.println(number+\ } } } 7、求 a+aa+aaa+.......+aaaaaaaaa=? 其中a为1至9之中的一个数,项数也要可以指定。 import java.util.Scanner; class Multinomial{ public static void main(String[] args){ int a; //定义输入的 a int howMany; //定义最后的一项有多少个数字 Scanner scanner = new Scanner(System.in); System.out.println(\请输入一个 1~9 的 a 值\ a = scanner.nextInt(); System.out.println(\请问要相加多少项?\ howMany = scanner.nextInt(); int sum=0; int a1=a; // 用来保存 a 的初始值 for (int i=1; i<=howMany; i++){ sum+= a; a = 10*a +a1; // 这表示a 的下一项 // 每次 a 的下一项都等于前一项*10,再加上刚输入时的 a ;注意,这时的 a 已经变化了。 } System.out.println(\ } } 8、求 2/1+3/2+5/3+8/5+13/8.....前20项之和? class Sum{ public static void main(Sting[] args){ double sum=0; double fenZi=2.0, fenMu=1.0; //初始的分子 (fenZi)=2,分母(fenMu)=1 for(int i=1; i<=20; i++){ sum += fenZi / fenMu ; fenMu = fenZi; //下一项的分母 = 上一项的分子 fenZi += fenMu; //下一项的分子 = 上一项的分子加分母 } System.out.println(\ } } 9、利用程序输出如下图形: * * * * * * * * * * * * * * * * * * * * * * * * * class Asterisk{ public static void main(String[] args){ for (int i=1; i<=13; i+=2){ for(int j=1; j<=i && i+j<= 14; j++){System.out.print(\ System.out.println(); // 换行 } } } 11、计算圆周率 PI=4-4/3+4/5-4/7....... 打印出第一个大于 3.1415小于 3.1416的值 class Pi { public static void main(String[] args){ double pi =0; //定义初始值 double fenZi = 4; //分子为4 double fenMu = 1; //第一个4,可看作分母为1 的分式,以后的分母每次递增2 for (int i = 0; i < 1000000000; i++){ //运行老久,减少循环次数会快很多,只是精确度小些 pi += (fenZi/fenMu) ; fenZi *= -1.0; //每项分子的变化是+4,-4,+4,-4 .... fenMu += 2.0; //分母的变化是1,3,5,7, .... 每项递加2 } System.out.println(pi); } } 输出结果为pi = 3.1415926525880504,应该不精确 12、输入一个数据n,计算斐波那契数列(Fibonacci)的第n个值 1 1 2 3 5 8 13 21 34 规律:一个数等于前两个数之和 //计算斐波那契数列(Fibonacci)的第n个值 public class Fibonacci{ public static void main(String args[]){ int n = Integer.parseInt(args[0]); int n1 = 1;//第一个数 int n2 = 1;//第二个数 int sum = 0;//和 if(n<=0){ System.out.println(\参数错误!\ return; } if(n<=2){ sum = 1; }else{ for(int i=3;i<=n;i++){ sum = n1+n2; n1 = n2; n2 = sum; } } System.out.println(sum); } } //计算斐波那契数列(Fibonacci)的第n个值 //并把整个数列打印出来 public class FibonacciPrint{ public static void main(String args[]){ int n = Integer.parseInt(args[0]); FibonacciPrint t = new FibonacciPrint(); for(int i=1;i<=n;i++){ t.print(i); } } public void print(int n){ int n1 = 1;//第一个数 int n2 = 1;//第二个数 int sum = 0;//和 if(n<=0){ System.out.println(\参数错误!\ return; } if(n<=2){ sum = 1; }else{ for(int i=3;i<=n;i++){ sum = n1+n2; n1 = n2; n2 = sum; } } System.out.println(sum); } } 13、求1-1/3+1/5-1/7+1/9......的值。 a,求出前50项和值。 b,求出最后一项绝对值小于1e-5的和值。 15、在屏幕上打印出n行的金字塔图案,如,若n=5,则图案如下: * *** ***** ******* ********* //打印金字塔图案 public class PrintStar{ public static void main(String args[]){ int col = Integer.parseInt(args[0]); for(int i=1;i<=col;i++){//i表示行数 //打印空格 for(int k=0;k //打印星星 for(int m=0;m<2*i-1;m++){ System.out.print(\ } System.out.println(); } } } 16、歌德巴赫猜想,任何一个大于六的偶数可以拆分成两个质数的和 打印出所有的可能 //任何一个大于六的偶数可以拆分成两个质数的和 //打印出所有的可能 public class Gedebahe{ public static void main(String args[]){ int num = Integer.parseInt(args[0]); if(num<=6){ System.out.println(\参数错误!\ return; } if(num%2!=0){ System.out.println(\参数错误!\ return; } Gedebahe g = new Gedebahe(); //1不是质数,2是偶数,因此从3开始循环 for(int i=3;i<=num/2;i++){ if(i%2==0){//如果为偶数,退出本次循环 continue; } //当i与num-i都为质数时,满足条件,打印 if(g.isPrime(i) && g.isPrime(num-i)){ System.out.println(i+\ } } } 第4章 数组 1. 定义一个int型的一维数组,包含10个元素,分别赋一些随机整数,然后求出所有元素的最大值, 最小值,平均值,和值,并输出出来。 class ArrayNumber{ public static void main(String[] args){ int[] arrayNumber; arrayNumber = new int[10]; System.out.println(\以下是随机的10个整数:\ // 填入随机的 10个整数 for (int i =0; i arrayNumber[i] = (int)(100*Math.random()); System.out.print(arrayNumber[i]+\ } System.out.println(); int max = arrayNumber[0]; int min = arrayNumber[0]; int sum = 0; for (int i =0; i max = arrayNumber[i]; //求最大值 if(min > arrayNumber[i]) min = arrayNumber[i]; //求最小值 sum += arrayNumber[i]; } System.out.println(\其中 Max=\ } } 2.定义一个int型的一维数组,包含10个元素,分别赋值为1~10, 然后将数组中的元素都向前移一个位置, 即,a[0]=a[1],a[1]=a[2],…最后一个元素的值是原来第一个元素的值,然后输出这个数组。 3. 定义一个int型的一维数组,包含40个元素,用来存储每个学员的成绩,循环产生40个0~100之间的随机整数, 将它们存储到一维数组中,然后统计成绩低于平均分的学员的人数,并输出出来。 4. (选做)承上题,将这40个成绩按照从高到低的顺序输出出来。 5,(选做)编写程序,将一个数组中的元素倒排过来。例如原数组为1,2,3,4,5;则倒排后数组中的值 为5,4,3,2,1。 6,要求定义一个int型数组a,包含100个元素,保存100个随机的4位数。再定义一个 int型数组b,包含10个元素。统计a数组中的元素对10求余等于0的个数,保存 到b[0]中;对10求余等于1的个数,保存到b[1]中,……依此类推。 class Remain{ public static void main( String[] args){ int[] a = new int[100]; //保存100个随机4位数到 a 中 for (int i = 0; i < a.length; i++){ a[i] = (int) (1000*Math.random()); } //统计 a 数组中的元素对 10 求余的各个的数目 int[] b = new int[10]; int k,sum; for (int j = 0; j < b.length; j++){ for (k=0,sum=0; k < a.length; k++){ if ((a[k])==j) sum++; } b[j] = sum; System.out.printf(\ } } } 7,定义一个20*5的二维数组,用来存储某班级20位学员的5门课的成绩;这5门课 按存储顺序依次为:core C++,coreJava,Servlet,JSP和EJB。 (1)循环给二维数组的每一个元素赋0~100之间的随机整数。 (2)按照列表的方式输出这些学员的每门课程的成绩。 (3)要求编写程序求每个学员的总分,将其保留在另外一个一维数组中。 (4)要求编写程序求所有学员的某门课程的平均分。 class Student{ public static void main(String[] args ){ int[][] mark = new int[20][5]; // 给学生赋分数值,随机生成 for ( int i = 0; ) } }//未完成 8,完成九宫格程序 在井字形的格局中(只能是奇数格局),放入数字(数字由),使每行每列以及斜角线的和都相等 经验规则:从 1 开始按顺序逐个填写; 1 放在第一行的中间位置;下一个数往右上角45度处填写; 如果单边越界则按头尾相接地填;如果有填写冲突,则填到刚才位置的底下一格; 如果有两边越界,则填到刚才位置的底下一格。 个人认为,可以先把最中间的数填到九宫格的最中间位置;再按上面的规则逐个填写,而且 填的时候还可以把头尾对应的数填到对应的格子中。(第 n 个值跟倒数第 n 个值对应,格局上以最中 间格为轴心对应) 这样就可以同时填两个数,效率比之前更高;其正确性有待数学论证(但多次实验之后都没发现有错)。 九宫格的 1 至少还可以填在另外的三个位置,只是接下来的填写顺序需要相应改变; 再根据九宫格的对称性,至少可以有8种不同的填写方式 import java.util.Scanner; class NinePalace{ public static void main(String[] args){ // 定义 N 为九宫格的行列数,需要输入 System.out.println(\请输入九宫格的行列规模(只能是奇数的)\ Scanner n = new Scanner(System.in); int N; //判断格局是否奇数 (可判断出偶数、负数 及小数) double d; while (true){ d = n.nextDouble(); N = (int)d; if ((d-N)>1.0E-4||N%2==0||N<0) {System.out.println(\输入出错,格局只能是正奇数。请重新输入\ else break; } //老师的九宫格填写方法 int[][] result = new int[N][N]; //定义保存九宫格的数组 int row = 0; //行 初始位置 int col = N/2; //列 初始位置,因为列由0开始,故N/2是中间位置 for (int i=1; i<=N*N; i++){ result [row][col] = i; row--; col++; if (row<0&&col>=N){col--;row+=2;} //行列都越界 else if (row<0){ row = N-1;} //行越界 else if (col>=N){col = 0;} //列越界 else if (result[row][col] != 0){col--;row+=2;} //有冲突 }
正在阅读:
JAVA经典实用程序代码04-29
陈抟睡功01-18
新编英语教程5Unit 304-23
项目立项程序09-04
原料预均化课程设计01-31
九助贫困大学生资助学生名单03-26
二年级植树问题教案10-27
游桐庐仙境游记作文600字06-26
液压习题12-04
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 代码
- 实用
- 程序
- 经典
- JAVA