您的位置:首页 > 编程语言 > Java开发

17.2.22 定义标志 判断质数

2017-02-23 20:20 148 查看
1.定义一个布尔型的标志来判断是否运行berak;continue;从而判断程序是否执行

package date0221;

 

import java.util.Scanner;

 

public class Test4 {

 

public static void main(String[] args) {

/*

循环录入5个人的年龄,

并计算平均年龄,

如果录入的数据出现负数

或者大于130的数,

立即停止输出报错

*/

Scanner sc = new Scanner(System.in);

//sum用于接收年龄总和

int sum = 0;

int a = 0;

//定义一个布尔型变量判断变化

boolean flag = true;

//循环输入5个年龄

System.out.println("请输入5个年龄");

for( int i=1;i<=5;i++){

int nl = sc.nextInt();

//遇到不符合实际情况的年龄终止循环并提示错误

if(nl<0||nl>130){

flag = false;

System.out.println("输入年龄有错");

break;

}else{

sum = sum+nl;

}

}

//将平均年龄赋值为double类型保证精确度

if(flag==true){

double pjnl = (double)sum/5;

System.out.println("5个人平均年龄为"+pjnl);

}

}

 

}

2.循环中记录不同情况的个数

package date0221;

 

import java.util.Scanner;

 

public class ZuoYe3 {

 

public static void main(String[] args) {

/*

*
输入数量不确定的正数和负数(一次输入一个),然后打印整数和负数的个数,当输入0时,程序停止

*/

Scanner sc = new Scanner(System.in);

//定义两个变量记录正数和负数的个数

int sum1 = 0;

int sum2 = 0;

           //死循环使没有break的情况下一直输入数字

for (int i = 0; i < 1; i--) {

System.out.println("请输入一个数字");

int j = sc.nextInt();

//if判断输入的数字

if (j > 0) {

int a = 0;

sum1++;

System.out.println("整数个数有" + sum1+ "个");

System.out.println("负数个数有" + sum2+ "个");

} else if (j < 0) {

int c = 0;

sum2++;

System.out.println("整数个数有" + sum1+ "个");

System.out.println("负数个数有" + sum2+ "个");

} else {

System.out.println("程序停止");

break;

}

}

}

 

}

3.用户名及密码的校验

package date0221;

 

import java.util.Scanner;

 

public class ZuoYe6 {

 

public static void main(String[] args) {

/* 
要求用户输入用户名和密码,

 *
只要不是admin和111就提示用户名或密码不正确,

 *
请重新输入。正确时结束循环,提示登陆成功

*/

Scanner sc = new Scanner(System.in);

             
  //定义一个标志

boolean flge = true;

do{

System.out.println("请输入用户名");

String name = sc.nextLine();

System.out.println("请输入密码");

String mima = sc.nextLine();

//if校验用户名和密码

if(name.equals("admin")&&mima.equals("111")){

flge = false;

System.out.println("登录成功");

break;

}else{

System.out.println("用户名或密码有误请重新输入");

}

 

}while(flge);

}

 

}

不知道要循环几次的时候,最好用while或者do-while,不用for的死循环

4.打印九九乘法表

package date0221;

 

public
class
ZuoYe8 {

 

   publicstaticvoidmain(String[]
args) {

      //
编写Java程序,在控制台上打印出九九乘法表

      //
第一种

      System.out.println("第一种");

      for(inta = 1;
a<= 9; a++) {

          for(intb = 1;
b<= 9; b++) {

             System.out.print(a +
"×"+ b +
"="+ a * b);

             //
添加制表符保证格式工整

             System.out.print("\t");

          }
          //
换行

          System.out.println("");

      }

      System.out.println("第二种");

      for(inta = 1;
a<= 9; a++) {

          for(intb = 1;
b<= a;
b++){

             System.out.print(a +
"×"+ b +
"="+ a * b);

             //
添加制表符保证格式工整

             System.out.print("\t");

          }

          //
换行

          System.out.println("");

      }

 

   }

 

}

5.字符串和数字的综合判断

package date0221;

 

import java.util.Scanner;

 

public
class
ZuoYe9 {

 

   publicstaticvoidmain(String[]
args) {

      /*

        *
不断要求用户输入一个数字(假定用户输入的数字都是正整数),

        *
当用户输入end的时候显示刚才输入数字中的最大值。

        */

      //max用来存贮最大的值

      intmax = 0;

      Scanner sc =
new Scanner(System.in);

      do{

          System.out.println("请输入一个整数或者end");

          //
整数和end属于不同的类型,所以此处写成String型,再进行字符串的转换

          String
j = sc.nextLine();

          if(!j.equals("end")){

             //
字符串转换为数字

             intk = Integer.parseInt(j);

             //
获取最大值

             if(k >=
max){

                 max =
k;

             }

          } else{

             System.out.println("最大值为"
+ max);

             break;

          }

      }while(true);

   }

 

}

6.判断质数

package date0221;

 

import java.util.Scanner;

 

public
class
ZuoYe10 {

 

   publicstaticvoidmain(String[]
args) {

      //
输入一个整数,判断这个数字是不是质数

      Scanner sc =
new Scanner(System.in);

      System.out.println("请输入一个整数");

      inta =
sc.nextInt();

      booleanflag=false;

      //
判断特殊情况

      if(a < 2) {

          System.out.println(a +
"不是质数");

      } else{

          for (int
i= 2; i <=a;i++) {

             if(a %
i ==0&&a!=i){

                 flag =
false;

                 break;

             } else{

                 flag =
true;

                 break;

             }

          }

          if(flag ==
true) {

             System.out.println(a +
"是质数");

          } else{

             System.out.println(a +
"不是质数");

          }

      }

   }

 

}

7.打印一定范围内的质数

package date0221;

 

public
class
ZuoYe11 {

 

   publicstaticvoidmain(String[]
args) {

      /*

        *
打印出100以内的质数,一行显示5个,(质数是只能被1跟自身整除的数,1不是质数)

        */

      intj;

      intx = 0;

      // 1不是素数,所以直接从2开始循环

      for(inti = 2;
i<= 100; i++) {

          j = 2;

          //
测试2至i的数字是否能被i整除,如不能就自加

          while(i %
j !=0) {

             j++;

          }

          //
当有被整除的数字时,如果是他自身那这个数就是质数

          if(j ==
i){

             System.out.print(i);

             System.out.print("\t");

             x++;

             //
设置一行显示五个

             if(x % 5 == 0) {

                 System.out.println();

             }

          }

      }

   }

 

}

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java