1、 则表明此数不是素数,反之是素数。 42: 43: 44: 45: 46: for(i=2;=200; 47: if(mymath.iszhishu(i)=true) 48: System.out.println(i); 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: public boolean iszhishu(int x) 61: 62: for(int i=2;=x/2; 63: if (x % 2=0 ) 64: return false; 65: return true; 66: 67: 68: 69: 【程序3】 题目:打印出所有的
2、 水仙花数 ,所谓 是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 ,因为153=1的三次方5的三次方3的三次方。 70:利用for循环控制100-999个数,每个数分解出个位,十位,百位。 71: 72: 73: 74: 75: for(i=100;=999; 76: if(mymath.shuixianhua(i)=true) 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: public boolean shuixianhua(int x) 97: 98: in
3、t i=0,j=0,k=0; 99: i=x / 100;100: j=(x % 100) /10;101: k=x % 10;102: if(x=i*i*i+j*j*j+k*k*k)103:104:105:106:107:108:109: 【程序4】 题目:将一个正整数分解质因数。输入90,打印出90=2*3*3*5。110: 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:111: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。112: (2)如果n k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你,重复执行第一
4、步。113: (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。114:115: public exp2()116: public void fengjie(int n)117:=n/2;i+)118: if(n%i=0)119: System.out.print(i+*);120: fengjie(n/i);/递归121:122:123: System.out.print(n);124: System.exit(0);/不能少这句,否则结果会出错125:126: public static void main(String args)127: String str=;128:
5、exp2 c=new exp2();129: str=javax.swing.JOptionPane.showInputDialog(请输入N的值(输入exit退出):130: int N;131: N=0;132: try133: N=Integer.parseInt(str);134: catch(NumberFormatException e)135: e.printStackTrace();136:137: System.out.print(N+分解质因数:+N+=138: c.fengjie(N);139: 140:141: 【程序5】 题目:利用条件运算符的嵌套来完成此题:学习成绩
6、 =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。142:(a b)?a:b这是条件运算符的基本例子。143: import javax.swing.*;144: public class ex5 145:146:147: str=JOptionPane.showInputDialog(148:149:150:151:152:153: catch(NumberFormatException e)154:155:156: str=(N90?A:(N60?BC);157: System.out.println(str);158:159:160: 【程序6】 题目:输入两个
7、正整数m和n,求其最大公约数和最小公倍数。161:利用辗除法。162: 最大公约数:/这个列子中没有判断NM的情况如果NM交换N M的值163: public class CommonDivisor164: public static void main(String args)165:166: commonDivisor(24,32);167:168: static int commonDivisor(int M, int N)169:170: if(N0|M0)171:172: System.out.println(ERROR!173: return -1;174:175: if(N=0)
8、176:177:the biggest common divisor is :+M);178: return M;179:180: return commonDivisor(N,M%N);181:182:183: 最小公倍数和最大公约数:184: import java.util.Scanner;185: public class CandC 186: 187: /下面的方法是求出最大公约数188: public static int *(int m, int n) /没有比较n和m的大小,/需不需要呢?189:190: while (true) /用while循环来进行判断191:192:
9、if (m = m % n) = 0) /%的优先级高于=193: return n;194: if (n = n % m) = 0) 195: return m;196:197:198: public static void main(String args) throws Exception 199:200: /取得输入值201: /Scanner chin = new Scanner(System.in);202: /int a = chin.nextInt(), b = chin.nextInt();203: int a=23; int b=32;204: int c = *(a, b
10、);205:最小公倍数: + a * b / c + n最大公约数: + c); /最小公倍数a*b/c(其中c为最大公约数)206:207:208: 【程序7】 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。209:利用while语句,条件为输入的字符不为 n . 210:211: public class ex7 212:213:214:请输入字符串:215: Scanner scan=new Scanner(System.in);216: String str=scan.next();217: String E1=u4e00-u9fa5218: String E
11、2=a-zA-Z219: int countH=0;220: int countE=0;221: char arrChar=str.toCharArray();222: String arrStr=new StringarrChar.length;223: for (int i=0;arrChar.length ;i+ )224:225: arrStri=String.valueOf(arrChari);226:227: for (String i: arrStr )228:229: if (i.matches(E1)230:231: countH+;232:233: if (i.matche
12、s(E2)234:235: countE+;236:237:238:汉字的个数+countH);239:字母的个数+countE);240:241:242: 【程序8】 题目:求s=a+aa+aaa+aaaa+aa.a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。243:关键是计算出每一项的值。244: import java.io.*;245: public class Sumloop 246: public static void main(String args) throws IOException247:248: in
13、t s=0;249: String output=250: BufferedReader stadin = new BufferedReader(new InputStreamReader(System.in);251:请输入a的值252: String input =stadin.readLine();253: for(int i =1;=Integer.parseInt(input);254:255: output+=input;256: int a=Integer.parseInt(output);257: s+=a;258:259: System.out.println(s);260:
14、261:262: 另解:263:264:265:266:267:268: int n;269: int t=0;270:271: String input = stadin.readLine();272: n=Integer.parseInt(input);273: for(int i=1;=n;274: t=t*10+n;275: s=s+t;276: System.out.println(t);277:278:279:280:281: 【程序9】 题目:一个数如果恰好等于它的因子之和,这个数就称为 完数 。例如6=123.编程 找出1000以内的所有完数。282: public class
15、 Wanshu 283: public static void main(String args)284:285: int s;286:=1000;287:288: s=0;289: for(int j=1;ji;j+)290: if(i % j=0)291: s=s+j;292: if(s=i)293: 294:295: System.out.println();296:297:298: 【程序10】 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?299: public class Ex10 300:301:3
16、02: double s=0;303: double t=100;304:=10;305:306: s+=t;307: t=t/2;308:309:310:311:312:313:314: 【程序11】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?315:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。316:317:318:319:320: int j=0;321: int k=0;322:323:=4;324: for(j=1;325: for(k=1;kk+)326: if(i!=j & j!=k & i!=
17、k)327: t+=1;328: System.out.println(i*100+j*10+k);329:330: System.out.println (t);331:332:333: 【程序12】 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%
18、提成,从键盘输入当月利润I,求应发放奖金总数?334:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。335: import java .util.*;336: public class test 337: public static void main (Stringargs) 338: double sum;/声明要储存的变量应发的奖金 339: Scanner input =new Scanner (System.in);/导入扫描器 340: System.out.print (输入当月利润341: double lirun=input .nextDouble();/从控制台录
19、入利润 342: if(lirun=100000) 343: sum=lirun*0.1;344: else if (lirun=200000) 345: sum=10000+lirun*0.075;346:=400000) 347: sum=17500+lirun*0.05;348:=600000) 349: sum=lirun*0.03;350:=1000000) 351: sum=lirun*0.015;352: else 353: sum=lirun*0.01;354:355:应发的奖金是+sum);356:357:358: 后面其他情况的代码可以由读者自行完善.359:360: 【程
20、序13】 361: 题目:一个整数,它加上100后是一个完全平方数,加上168又是一个完全平方数,请问该数是多少?362:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。请看具体分析:363:364:365: long k=0;366:=100000l;367: if(Math.floor(Math.sqrt(k+100)=Math.sqrt(k+100) & Math.floor(Math.sqrt(k+168)=Math.sqrt(k+168)368: System.out.println(k);369:370:371: 【
21、程序14】 题目:输入某年某月某日,判断这一天是这一年的第几天?372:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。373: import java.util.*;374:375:376: int day=0;377: int month=0;378: int year=0;379: int sum=0;380: int leap;381: System.out.print(请输入年,月,日n382: Scanner input = new Scanner(System.in);383: year=input.nextInt();384: month=input.nex
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1