题目一:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。
程序分析:用switch语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
System.out.print("请输入第一个字母:");
Scanner scan = new Scanner(System.in);
char i=scan.next().charAt(0);
switch(i)
{
case 'm':
System.out.println("Monday");
break;
case 'w':
System.out.println("Wednesday");
break;
case 'f':
System.out.println("Friday");
break;
case 't':
System.out.print("请输入下一个字母:");
Scanner scan1 = new Scanner(System.in);
char j=scan1.next().charAt(0);
if (j=='u') {System.out.println("Tuesday");break;}
if (j=='h') {System.out.println("Thursday");break;}
case 's':
System.out.print("请输入下一个字母:");
Scanner scan2 = new Scanner(System.in);
char k=scan2.next().charAt(0);
if (k=='a') {System.out.println("Saturday");break;}
if (k=='u') {System.out.println("Sunday"); break;}
default :
System.out.print("error\n"); break;
}
return;
}
}
题目二:将一个正整数分解质因数。例如:输入90,打印出90=233*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于(小于的时候,继续执行循环)n,则说明分解质因数的过程已经结束,另外 打印出即可。
(2)但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n.重复执行第二步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
import java.util.Scanner;
public class Test { //public修饰符 权限最大
public static void main(String[] args) { //成员方法 它可以做什么
System.out.print("请输入整数:");
Scanner input = new Scanner(System.in);
int n = input.nextInt();
System.out.print(n + "=");
for(int i=2;i<=n;i++)
{
while(n%i==0)
{
System.out.print(i);
n/=i;
if(n!=1) System.out.print("*");
}
}
System.out.println();
return;
}
}