今天杨杨杨同学给大家分享几道有关循环类的题,以便大家更好理解
第一题
import java.util.*;
class Class12{
public static void main(String[] args){
/*
数据:自动生成 键入
1.电脑随机生成一个数
2.判断二者的大小
3.循环体为先输入,再比较
*/
Random ranodom=new Random();
int com=ranodom.nextInt(101);
System.out.println("Guess a magic number between a and 100");
Scanner scanner=new Scanner(System.in);
int usr;
while(true){
System.out.print("Enter your guess:");
usr=scanner.nextInt();
if(usr>com){
System.out.println("Your guess is too high");
}else if(usr<com){
System.out.println("Your guess is too low");
}else{
break;
}
}
System.out.println("Yes,you are right");
}
}
第二题
import java.util.*;
class Class13{
/*
数据:随机输入两个整数
1.提示用户输入两个整数
2.判断两值的大小,取最小为界限
3.如果能被两数整除 gcd=i;
4.重复循环
5.输出结果
*/
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.print("请输入两个整数:");
int n1=scanner.nextInt();
int n2=scanner.nextInt();
int gcd=1;
for(int i=2;i<=Math.min(n1,n2);i++){
if((n1%i==0)&&(n2%i==0)){
gcd=i;
}
}
System.out.println("最大公约数为:"+gcd);
}
}
第三题
import java.util.Scanner;
class Class14{
/*
数据:整数 因子
1.提示用户随机输入一个整数
2.先判断该数是否为2 3
3.因不知道循环次数所以写一个while循环
4.
*/
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.print("请输入一个整数:");
int num=scanner.nextInt();
System.out.print("升序因子为:");
int count=0;
if(num==2||num==3){
System.out.print("1 "+num);
}else{
while(true){
for(int i=2;i<=num;i++){
if(num%i==0){
count++;
if(count==1&&num==i){
System.out.println("1 "+i);
}else{
System.out.print(i+" ");
}
num/=i;
break;
}
}
if(num==1){
break;
}
}
}
}
}
第四题
import java.util.*;
class Class15{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.print("Enter the line number:");
int line=scanner.nextInt();
for(int i=0;i<line;i++){//行数循环
for(int k=0;k<line-i-1;k++){
System.out.print(" ");
}
//i=3
for(int j=-i;j<=i;j++){
System.out.print(" "+(Math.abs(j)+1));
}
System.out.println();
}
}
}
第五题
class Class16{
public static void main(String[] args){
double pi=0;
double flag=1;
for(int i=0;i<1000000;i++){
pi=pi+flag/(2*i+1);
flag=-flag;
}
pi*=4;
System.out.println(pi);
}
}
第六题
class Class17{
public static void main(String[] args){
double jie=0;
double sum=0;
for(int i=0;i<1000;i++){
if(i==0){
jie=1;
}else{
jie*=i;
}
sum+=1.0/jie;
}
System.out.println(sum);
}
}
第七题
import java.util.*;
class Class19{
public static void main(String[] args){
Random random=new Random();
Scanner scanner =new Scanner(System.in);
String[] s={"剪刀","石头","布"};
int usrCount=0;
int comCount=0;
int com=0;
int usr=0;
while(true){
com=random.nextInt(3);
System.out.print("请输入剪刀0 石头1 布2:");
usr=scanner.nextInt();
if(com==usr){
System.out.printf("电脑:%s 用户:%s 平局\n",s[com],s[usr]);
}else if(com-usr==-1||com-usr==2){//用户赢
System.out.printf("电脑:%s 用户:%s 用户赢\n",s[com],s[usr]);
usrCount++;
}else{//电脑赢
System.out.printf("电脑:%s 用户:%s 电脑赢\n",s[com],s[usr]);
comCount++;
}
if(usrCount>=3||comCount>=3){
break;
}
}
if(usrCount==3){
System.out.println("最终用户赢");
}else{
System.out.println("最终电脑赢");
}
}
}
第八题
import java.util.*;
class Home12{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.print("Enter a number:");
int number=scanner.nextInt();
int t=0;
String s="";
while(true){
t=number%16;
if(t>=10){
//ABCDEF
//10 11 12 13 14 15
s=(char)(55+t)+s;
}else{
s=t+s;
}
number/=16;
if(number==0){
break;
}
}
System.out.println("0x"+s);
}
}
第九题
class Home16{
public static void main(String[] args){
double c=0;
for(int i=0;i<8;i++){
//i=3
for(int k=0;k<8-i-1;k++){
System.out.print(" ");
}
for(int j=-i;j<=i;j++){
c=Math.pow(2,Math.abs(Math.abs(j)-i));
System.out.printf("%4.0f",c);
}
System.out.println();
}
///今天给大家分享的这几道题是我在做题过程中觉得特别典型的几道题,如果你有其他的方法,欢迎评论留言哦