一、实现问题一关键算法
编写一个程序,该程序读取一个字符串,然后输出读取的空格数目。
注意:输入字符串的长度不超过 30 个字符(含空格)。
import java.util.Scanner;
/**
* 任务一:实现问题一关键算法
编写一个程序,该程序读取一个字符串,然后输出读取的空格数目。
注意:输入字符串的长度不超过 30 个字符(含空格)。
* @author xxj
*
*/
public class Week01 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("输入一个字符串(输入字符串的长度不超过 30 个字符):");
String str = input.nextLine();
int count =isBlank(str);
System.out.println("空格数目:"+count);
}
/**
* 判断一个字符串中有几个空格
* @param str
* @return
*/
public static int isBlank(String str){
int count =0;
char[] ch = str.toCharArray();
for(int i = 0; i< ch.length;i++){
if(ch[i] == ' '){
count++ ;
}
}
return count;
}
}
二、实现问题二关键算法
中国古代的《算经》记载了这样一个问题:
公鸡 5 文钱 1 只,母鸡 3 文钱 1 只,小鸡 1 文钱 3 只,
如果用 100 文钱买 100 只鸡,那么公鸡、母鸡和小鸡各应该买多少只呢?
现在请你编程求出所有的解,每个解输出 3 个整数,打印在一行,用空格隔开,分别代表买的公鸡、
母鸡、小鸡的数量。
注意:100 文钱要正好用完。请输出所有的解,每个解占一行。
/**
* @author xxj
*
*/
public class Week02 {
public static void main(String[] args) {
System.out.println("公鸡 母鸡 小鸡");
//公鸡
for(int g = 1;g<=100;g++){
for(int m=1;m<=100;m++){
for(int x=1;x<=100;x++){
if( (g*5) + (m*3)+ ((x*1)/3) == 100 && (g+m+x) == 100){
System.out.println(g +" "+m+" "+x);
}
}
}
}
}
}
三、实现问题三关键算法
有一天爱因斯坦给他的朋友出了一个题目,有一个楼,其两层之间有一个很长的阶梯。
如果一个人每步上 2 阶,最后剩 1 阶;
如果一个人每步上3 阶,最后剩 2 阶;
如果一个人每 步上 5 阶,最后剩 4 阶;
如果一个人每步上 6 阶,最后剩 5 阶;
如果一个人每步上 7 阶,最后刚好一阶也不剩。
问这个阶梯至少有多少阶呢?
注意:请编程求出最小的一个答案并输出。
public class Week03 {
public static void main(String[] args) {
for(int i = 1;i>0;i++){
if(i%2==1 && i%3==2 && i%5==4 && i%6==5 && i%7==0){
System.out.println("阶梯有:"+i);
break;
}
}
}
}