第六周作业
上机练习:
1.使用for循环计算1-100的和,除了以3结尾的那些数
package tes; public class Test { /** * @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 tes; public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub for (int i = 1; i <= 4; i++) { for (int l = 1; l <= 4 - i; l++) { System.out.print(" "); } for (int j = 1; j <= 2 * i - 1; j++) { System.out.print("*"); } System.out.println(); }System.out.println(); for (int i =1; i <=5; i++) { for (int j =1; j <=6-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 tes; import java.util.Scanner; public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner input = new Scanner(System.in); System.out.println("输入学生的姓名"); String name = input.next(); while (name != "Q") { name = input.next(); if (name.equals("Q")) break; } System.out.println("程序结束"); } }
4.输入5个学生成绩,求和,当输入不合法的时候,提示输入错误重新输入。
package tes; public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner input = new Scanner(System.in); System.out.println("输入学生成绩"); int sum = 0; for (int i = 1; i <= 5; i++) { int grade = input.nextInt(); while (grade < 0 || grade > 100) { System.out.println("输入的成绩无效,重新输入"); grade = input.nextInt(); break; } sum += grade; } System.out.println(sum); } }
5.计算 1+1/(1+2) + 1/(1+2+3) +1/(1+2+3+4)+…………+1/(1+2+....+10)
package tes; public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub double sum = 0; double sum1 = 0; for (int i = 1; i <= 10; i++) { sum += i; sum1 = 1 / sum + sum1; } System.out.println(sum1); } }
作业
1.产生一个1-99的随机数,猜数字,若大了就提示“大了点”,若小了就提示“小了点”直到猜对为止。
(判断猜的次数,如果1-3次,提示太棒了 如果5-8次 一般般 如果8次以上 太笨了)
package homework; import java.util.Random; import java.util.Scanner; public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Random r = new Random(); int x = r.nextInt(100); Scanner input = new Scanner(System.in); int n = input.nextInt(); int ci=1; while (n != x) { if (n > x) { System.out.println("大一点"); } else if (n < x) { System.out.println("小一点"); } n = input.nextInt(); if (n == x) { System.out.println("猜对了"); } ci++; } if(ci>0&&ci<=3){ System.out.println("太棒了"); }else if(ci>=4&&ci<=8){ System.out.println("一般般"); }if(ci>8){ System.out.println("太笨了"); } System.out.println("猜的次数为"+ci); System.out.println("要猜的数是"+x); } }
2.输入一个数,判断是不是质数(只能被1和自身整除的数是质数)
package week; import java.util.Scanner; public class Test { /** * @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 week; import java.util.Scanner; public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int a=1; int b=1; int c=0; for(int i=1;i<=18;i++){ c=a+b; a=b; b=c; } System.out.println(c); } }