求JAVA高手写几个简单的小程序
1输入任意一串字符串,统计字符串中大写、小写字母及数字的个数2输入任意金额,输出人民币100元、50元、20元、10元、5元、1元,5角、1角、5分、2分和1分各需要几张...
1输入任意一串字符串,统计字符串中大写、小写字母及数字的个数
2输入任意金额,输出人民币100元、50元、20元、10元、5元、1元,5角、1角、5分、2分和1分各需要几张,要求总的人民币张数最少。
3求100~200之间所有的素数(注:素数是仅能被1和自己整除的数)
4一球从100米高度自由落下,每次落地后反跳回原高度的一半,然后再落下。求它在第100次落地时,在空中共经过多少米?
5输出100到999之间所有个位、十位、百位数字的和为10的三位数 展开
2输入任意金额,输出人民币100元、50元、20元、10元、5元、1元,5角、1角、5分、2分和1分各需要几张,要求总的人民币张数最少。
3求100~200之间所有的素数(注:素数是仅能被1和自己整除的数)
4一球从100米高度自由落下,每次落地后反跳回原高度的一半,然后再落下。求它在第100次落地时,在空中共经过多少米?
5输出100到999之间所有个位、十位、百位数字的和为10的三位数 展开
展开全部
public class Test {
/**
* 得到大写小写的个数
* @param s
*/
public void calculationCount(String s){
int upCount = 0; //大写
int dwCount = 0;//小写
for(int i = 0;i<s.length();i++){
if(s.substring(i,i+1).hashCode() >= 97){
dwCount ++;
}else{
upCount ++;
}
}
System.out.println("大写个数:" +upCount + "\r\n小写个数:" + dwCount);
}
/**
* 算出面额的张数
* @param num
*/
public void calculationNum(double num){
String[] s = {"100","50","20","10","5","1","0.5","0.1","0.05","0.02","0.01"};
java.util.Random random = new java.util.Random();
double dqNum = num;
int rows = 0;
int sumCount = 0;
double indxeNum = 0;
for(int i = 0;i<s.length;i++){
indxeNum = Double.parseDouble(s[i]);
if(i<6){
rows = (int)(dqNum/indxeNum) ;
}else{
rows = (int)(dqNum/indxeNum) ;
}
sumCount += rows;
dqNum = dqNum%indxeNum;
System.out.println(indxeNum + "元有:" + rows + "张");
System.out.println(dqNum);
}
System.out.println("总:" + sumCount + "张");
}
/**
* 素数
* @param num
*/
public void calculationSS(int num){
boolean r = false;
for (int i = 100;i<200;i++){
r = false;
for(int j = 2;j<10;j++){
if(i%j==0){
r = true;
break;
}
continue;
}
if(!r){
System.out.println("素数:"+ i);
}
}
}
/**
* 算高度
* @param num
*/
public void calculationA (double num){
double indexNum = num;
double sumNum = num;
for(int i = 0;i<100;i++){
indexNum = indexNum /2;
sumNum += indexNum;
}
System.out.print("总高度:"+sumNum);
}
/**
*
* @param startNum
* @param stopNum
*/
public void calculationB(int startNum,int stopNum){
while(startNum<stopNum){
if(startNum >= 100 && startNum<=999){
String temps = ""+startNum;
if(Integer.parseInt(temps.substring(0,1)) + Integer.parseInt(temps.substring(1,2))+Integer.parseInt(temps.substring(2,3) ) == 10){
System.out.println("总和等于100:"+startNum);
}
}
startNum++;
}
}
public static void main(String args[]){
Test test= new Test();
System.out.println(Math.round(10.567));
test.calculationCount("aBBDDClcfa");
test.calculationNum(900111.09);
test.calculationSS(200);
test.calculationA(100);
test.calculationB(100, 999);
}
}
没有调试,估计有点小问题。。。你看看吧
/**
* 得到大写小写的个数
* @param s
*/
public void calculationCount(String s){
int upCount = 0; //大写
int dwCount = 0;//小写
for(int i = 0;i<s.length();i++){
if(s.substring(i,i+1).hashCode() >= 97){
dwCount ++;
}else{
upCount ++;
}
}
System.out.println("大写个数:" +upCount + "\r\n小写个数:" + dwCount);
}
/**
* 算出面额的张数
* @param num
*/
public void calculationNum(double num){
String[] s = {"100","50","20","10","5","1","0.5","0.1","0.05","0.02","0.01"};
java.util.Random random = new java.util.Random();
double dqNum = num;
int rows = 0;
int sumCount = 0;
double indxeNum = 0;
for(int i = 0;i<s.length;i++){
indxeNum = Double.parseDouble(s[i]);
if(i<6){
rows = (int)(dqNum/indxeNum) ;
}else{
rows = (int)(dqNum/indxeNum) ;
}
sumCount += rows;
dqNum = dqNum%indxeNum;
System.out.println(indxeNum + "元有:" + rows + "张");
System.out.println(dqNum);
}
System.out.println("总:" + sumCount + "张");
}
/**
* 素数
* @param num
*/
public void calculationSS(int num){
boolean r = false;
for (int i = 100;i<200;i++){
r = false;
for(int j = 2;j<10;j++){
if(i%j==0){
r = true;
break;
}
continue;
}
if(!r){
System.out.println("素数:"+ i);
}
}
}
/**
* 算高度
* @param num
*/
public void calculationA (double num){
double indexNum = num;
double sumNum = num;
for(int i = 0;i<100;i++){
indexNum = indexNum /2;
sumNum += indexNum;
}
System.out.print("总高度:"+sumNum);
}
/**
*
* @param startNum
* @param stopNum
*/
public void calculationB(int startNum,int stopNum){
while(startNum<stopNum){
if(startNum >= 100 && startNum<=999){
String temps = ""+startNum;
if(Integer.parseInt(temps.substring(0,1)) + Integer.parseInt(temps.substring(1,2))+Integer.parseInt(temps.substring(2,3) ) == 10){
System.out.println("总和等于100:"+startNum);
}
}
startNum++;
}
}
public static void main(String args[]){
Test test= new Test();
System.out.println(Math.round(10.567));
test.calculationCount("aBBDDClcfa");
test.calculationNum(900111.09);
test.calculationSS(200);
test.calculationA(100);
test.calculationB(100, 999);
}
}
没有调试,估计有点小问题。。。你看看吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询