Java第六次作业
上机练习:
1.使用for循环计算1-100的和,除了以3结尾的那些数
package fyx; public class sj1 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int sum=0; for(int i=1;i<=100;i++){ if(i%10==3||i==3){ continue; } sum+=i; } System.out.println(sum); } }
2.使用二重循环输出以下图形
*
***
*****
*******
*****
****
***
**
*
package fyx; public class sj2 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub for(int i=1;i<=4;i++){ for(int j=1;j<=4-i;j++){ System.out.print(" "); } for (int k=1;k<=2*i-1;k++){ System.out.print("*"); } System.out.println(); } } }
package fyx; public class sj22 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub for(int i=1;i<=5;i++){ for(int j=1;j<7-i;j++){ System.out.print("*"); } System.out.println(); } } }
3.循环输入学生姓名,直到输入‘Q’程序结束。
String name=input.next();
if(name=='Q'){
}
错误。。字符串判断相等不能用==
if(name.equals("Q")){
}正确
zs
ls
ww
aa
bb
Q
程序结束
package fyx; import java.util.Scanner; public class sj3 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner input=new Scanner(System.in); for(;;){ System.out.println("输入学生姓名"); String name=input.next(); if (name.equals("Q")){ System.out.println("结束"); break; } } } }
4.输入5个学生成绩,求和,当输入不合法的时候,提示输入错误重新输入。
package fyx; import java.util.Scanner; public class SJ4 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner input=new Scanner(System.in); int sum=0; for(int i=0;i<5;i++){ System.out.println("输入学生成绩"); int score=input.nextInt(); if (score<0||score>100){ i--; System.out.println("输入错误重新输入"); continue; } sum+=score; } System.out.println("输入成功"+"\t"+"成绩总和为"+sum); } }
5.计算 1+1/(1+2) + 1/(1+2+3) +1/(1+2+3+4)+…………+1/(1+2+....+10)
package fyx; public class sj5 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub double sum=0; double a=1; for(int i=1;i<=10;i++){ sum+=i; a=a+(1/sum); } System.out.println(a); } }
作业
1.产生一个1-99的随机数,猜数字,若大了就提示“大了点”,若小了就提示“小了点”直到猜对为止。
(判断猜的次数,如果1-3次,提示太棒了 如果5-8次 一般般 如果8次以上 太笨了)
package fyx; public class sj6 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner input = new Scanner(System.in); int number = (int) (Math.random() * 100); System.out.println("我这里有一个0到99之间的整数,你猜是多少?"); int a = 0; do { int b = input.nextInt(); if (b < number) { System.out.println("小了点!"); a++; } else if (b > number) { System.out.println("大了点!"); a++; } else { System.out.println("猜对啦!"); a++; break; } } while (true); System.out.println("这个数字是" + number); System.out.println("您猜的次数是" + a); if (a >= 1 && a <= 3) { System.out.println("太棒了!"); } else if (a >= 5 && a <= 8) { System.out.println("一般般!"); } else { System.out.println("太笨了!"); } } }
2.输入一个数,判断是不是质数(只能被1和自身整除的数是质数)
package fyx; public class sj7 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner input = new Scanner(System.in); System.out.println("输入一个数"); int num = input.nextInt(); boolean isPrime = true; if (num == 1) { isPrime = false; } for (int i = 2; i <= num - 1; i++) { if (num % i == 0) { isPrime = false; break; } } if (isPrime) { System.out.println(num + "是质数"); } else { System.out.println(num + "不是质数"); } } }
3.求裴波那契数列的第20项是什么。裴波那契数列,1,1,2,3,5,8,13,21……
package fyx; public class sj8 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int a=1,b=1,c=0; for(int i=1;i<=18;i++){ c=a+b; a=b; b=c; System.out.println(c); } System.out.println("所以这个数列第20项是:"+c); } }