J2SE习题—基本语法2
来源:互联网 发布:淘宝上不错的美国代购 编辑:程序博客网 时间:2024/05/21 09:07
1.用1元5角钱人民币兑换5分、2分和1分的硬币(每一种都要有)共100枚,问共有几种兑换方案?每种方案各换多少枚?
2.求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加,a这个数字是2),几个数相加,这个数字是几均由键盘输入
3.有1、2、3、4这4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
4.已知abc+cba=1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合。
5.输入一个五位以内的正整数,(1)判断它是一个几位数;(2)请按序输出其各位数字;(3)逆序输出其各位数字。
6.输入某年某月某日,判断这一天是这一年的第几天?
7.求任意2个日期之间相差的天数
import java.util.*;class Test2 { public static void main(String[] args) { question_1(); System.out.println(question_2(2,3)); question_3(); question_4(); question_5(543210); question_6(20170228); question_7(20200101,20200301);//会识别闰年,60天 } //1.用1元5角钱人民币兑换5分、2分和1分的硬币(每一种都要有)共100枚,问共有几种兑换方案?每种方案各换多少枚? public static void question_1() { int total = 0; int count = 0; for (int x=0;x<=100 ;x++ ) { for (int y=0;y<=100-x ;y++ ) { total = 5*x + 2*y + 1*(100-x-y); if (total == 150) { //count自增必须放前面,即使有括号,放后面也会先输出后自增 System.out.println("方案"+(++count)+":五分"+x+"枚,2分"+y+"枚,1分"+(100-x-y)+"枚。"); break; } } } System.out.println("方案一共有"+count+"种"); } //2.求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加,a这个数字是2),几个数相加,这个数字是几均由键盘输入 public static double question_2(int num,int len) { double sum=0; double js = 0; for (int x=1;x<=len-1 ;x++ ) { js = js + num * Math.pow(10,x); sum = sum + js; } return sum; } //3.有1、2、3、4这4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? public static void question_3() { System.out.print("一共有"+(4*3*2)+"种组合:"); for (int i=1;i<=4 ;i++ ) { for (int m = 1;m<=4 ;m++ ) { if(i==m) continue; for (int n = 1;n<=4 ;n++ ) { if(i==n || m==n) continue; System.out.print(i*100+m*10+n+","); } } } System.out.println(); } //4.已知abc+cba=1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合。 public static void question_4() { System.out.print("满足条件的a,b,c所有组合:"); for (int a=3; a<=6; a++ ) { for (int c=12-a;c+a<=13&c<10;c++) { int b2 = 1333-101*(a+c); if (b2%20==0) { System.out.print(100*a+b2/2+c+","); System.out.print(100*c+b2/2+a+","); } } } } //5.输入一个五位以内的正整数,(1)判断它是一个几位数;(2)请按序输出其各位数字;(3)逆序输出其各位数字。 public static void question_5(int n) { StringBuilder sb= new StringBuilder(); int count=1; if(n<=0) System.out.println("哥们,请输入正整数"); System.out.println("正序输出:"+n); while(n/10!=0) { int a = n%10; sb.append(a); n=n/10; count++; } sb.append(n); System.out.println("这是一个"+count+"位数。"); System.out.println("正序输出:"+sb.reverse().toString()); System.out.println("这是一个"+sb.reverse().toString()); } //6.输入某年某月某日,判断这一天是这一年的第几天? public static void question_6(int n) { int year = n/10000; int month = n%10000/100-1;//month默认从0开始,即1月为0月 int day = n%100; GregorianCalendar cal= new GregorianCalendar(year,month,day); GregorianCalendar cal2= new GregorianCalendar(year,0,0); long time = (cal.getTimeInMillis()-cal2.getTimeInMillis())/(24*60*60*1000) +1;//因为减去了年初一天 System.out.println("这一天是这一年的第"+time+"天"); } //7.求任意2个日期之间相差的天数//不考虑前后 public static void question_7(int n,int m) { GregorianCalendar cal= new GregorianCalendar(n/10000,n%10000/100-1,n%100-1); GregorianCalendar cal2= new GregorianCalendar(m/10000,m%10000/100-1,m%100-1); long time = (cal.getTimeInMillis()-cal2.getTimeInMillis())/(24*60*60*1000); System.out.println("2个日期之间相差"+time+"天"); }}
0 0
- J2SE习题—基本语法2
- J2SE习题—基础语法1
- J2SE之基本语法
- J2SE 之 基本语法
- J2SE习题(2)
- J2SE学习笔记3 — Java基本语法(2)基本数据类型
- J2SE第二章——Java基本语法(一)
- J2SE第二章——Java基本语法(二)
- J2SE习题—预备知识
- J2SE习题—java基础
- J2SE学习笔记3 — Java基本语法(1)基本语法规则
- J2SE学习笔记3 — Java基本语法(6)基本输入输出
- 【J2SE】——基础语法
- J2SE学习笔记3 — Java基本语法(3)变量和运算符
- J2SE学习笔记3 — Java基本语法(4)类型转换
- J2SE学习笔记3 — Java基本语法(5)字符串和构建字符串
- J2SE学习笔记3 — Java基本语法(7)流程控制语句
- J2SE学习笔记3 — Java基本语法(8)大数值和数学函数
- PAT甲级练习1068. Find More Coins (30)
- 关于期权
- linux上 nohup command >/dev/null 2>&1 &的含义
- 移动端热修复方案-Tencent tinker
- RSync实现文件备份同步
- J2SE习题—基本语法2
- 加解密的一个方法
- SHA1算法
- 16进制颜色透明度计算方法
- Css Html 鼠标移上标签展示图表
- Python学习记录二
- [LeetCode]208. Implement Trie (Prefix Tree)
- OkHttp的基本使用(二)Post请求
- Tomcat8.5 不能进入Manager App