第六周上机练习+作业
上机练习:
1.使用for循环计算1-100的和,除了以3结尾的那些数
package Test3; public class h1 { /** * @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) sum += i; } System.out.println(sum); } }
2.使用二重循环输出以下图形
package Test3; public class h1 { /** * @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 a = 1; a <= 2 * i - 1; a++) { System.out.print("*"); } System.out.println(); } } }
package Test3; public class h1 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub for (int i = 1; i <= 6; i++) { for (int j = 1; j <= 6 - i; j++) { System.out.print("*"); } System.out.println(); } } }
3.循环输入学生姓名,直到输入‘Q’程序结束。
package Test3; import java.util.Scanner; public class h1 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner input = new Scanner(System.in); while (true) { System.out.println("输入学生姓名"); String a = input.next(); if (a.equals("Q")) { System.out.println("输入的名字有效"); break; } else System.out.println("输入的名字无效,请重新输入"); } } }
4.输入5个学生成绩,求和,当输入不合法的时候,提示输入错误重新输入。
package Test3; import java.util.Scanner; public class h1 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner input = new Scanner(System.in); double sum = 0; for (int i = 1; i <= 5; i++) { System.out.println("请输入学生的成绩:"); double x = input.nextDouble(); if (x < 0 || x > 100) { System.out.println("输入的成绩不合法!"); } sum += x; } System.out.println("这5个学生成绩和为:" + sum); } }
5.计算 1+1/(1+2) + 1/(1+2+3) +1/(1+2+3+4)+…………+1/(1+2+....+10)
package Test3; public class h1 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub double sum = 0; double j = 0; for (int i = 1; i <= 10; i++) { sum += i; j = 1 / sum + j; } System.out.println(j); } }
作业
1.产生一个1-99的随机数,猜数字,若大了就提示“大了点”,若小了就提示“小了点”直到猜对为止。
(判断猜的次数,如果1-3次,提示太棒了 如果5-8次 一般般 如果8次以上 太笨了)
package Test3; import java.util.Scanner; public class h1 { /** * @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 test; import java.util.Scanner; public class lianxi { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("输入一个数:"); int i = scan.nextInt(); int n = 2; for (n = 2; n < i; n++) { if (i % n == 0) { break; } } if (n == i) { System.out.println(i + "是素数"); } else if (i == 1 || i == 0) { System.out.println(i + "不是素数也不是合数"); } else { System.out.println(i + "不是素数"); } } }
3.求裴波那契数列的第20项是什么。裴波那契数列,1,1,2,3,5,8,13,21……
package Test3; public class h3 { /** * @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); } }