Com.Java.Basis第五课《针对流程控制的语句练习题》(二)

简介: Com.Java.Basis第五课《针对流程控制的语句练习题》(二)

问题十一:猴子分香蕉2018

package WEB331;
/**
 * 5只猴子是好朋友,在海边的椰子树上睡着了。这期间,有商船把一大堆香蕉忘记在沙滩上离去。
第1只猴子醒来,把香蕉均分成5堆,还剩下1个,就吃掉并把自己的一份藏起来继续睡觉。
第2只猴子醒来,重新把香蕉均分成5堆,还剩下2个,就吃掉并把自己的一份藏起来继续睡觉。
第3只猴子醒来,重新把香蕉均分成5堆,还剩下3个,就吃掉并把自己的一份藏起来继续睡觉。
第4只猴子醒来,重新把香蕉均分成5堆,还剩下4个,就吃掉并把自己的一份藏起来继续睡觉。
第5只猴子醒来,重新把香蕉均分成5堆,哈哈,正好不剩!请计算一开始最少有多少个香蕉。
 * @author MZFAITHDREAM
 *
 */
public class 猴子分香蕉2018 {
  public static void main(String[] args) {
    for (int i = 0; i <10000; i++) {
      int tep=i;
      if(tep%5==1) {
        tep=tep-tep/5-1;
        if(tep%5==2) {
          tep=tep-tep/5-2;
          if(tep%5==3) {
            tep=tep-tep/5-3;
            if(tep%5==4) {
              tep=tep-tep/5-4;
              if(tep%5==0&&tep>0) {
                System.out.println(i);
              }
              }
            }
          }
        }
      }
    }
  }

问题十二:回文数

package WEB331;
/**
 * 1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。
输出格式
  按从小到大的顺序输出满足条件的四位十进制数。
 * @author MZFAITHDREAM
 *
 */
public class 回文数 {
  public static void main(String[] args) {
    for (int i = 100; i < 1000; i++) {
      int sa=i;
      int a=sa/1000;
      sa%=1000;
      int b=sa/100;
      sa%=100;
      int c=sa%10;
      sa%=10;
      int d=sa;
      if(a==d&&b==c) {
        System.out.println(i);
      }
    }
  }
}

问题十三:杨辉三角形

package WEB331;
import java.util.Scanner;
public class 杨辉三角形 {
  public static void main(String[] args) {
    Scanner sc=new Scanner(System.in);
    int length=sc.nextInt();
    int arr[][]=new int[length][length];
    for (int x = 0; x < length; x++) {
      for (int y = 0; y <=x; y++) {
        if(y==0||y==x) {
          arr[x][y]=1;
        }else {
//          在这里
          arr[x][y]=arr[x-1][y]+arr[x-1][y-1];
        }
        System.out.print(arr[x][y]+" ");
      }
      System.out.println();
    }
  }
}

问题十四:猴子吃桃问题

package WEB315307;
public class 猴子吃桃问题 {
  private static int countNum(){
    int day=1;
    for(int i=10;i>1;i--){
      day=(day+1)*2;
      System.out.println(day);
    }
    return day;
  }
  public static void main(String[] args) {
    // TODO Auto-generated method stub
      countNum();
      System.out.println();
  }
}

问题十五:能组成多少个互不相同且一个数字中无重复数字的三位数

package WEB315307;
/*
 * 有1、2、3、4  5个数字,
 * 能组成多少个互不相同且一个数字中无重复数字的三位数 我要求第一位数等于三位数?
 * 并把他们都输入。 从left到right 读出来的数字一样
 * 
 */
public class 能组成多少个互不相同且一个数字中无重复数字的三位 {
  public static void main(String[] args) {
    int count=0;
    //0 1 2 3 4  五个数
    for (int i = 1; i < 5; i++) {
      // 0 1 2 3 4 
      for (int j = 1; j <5; j++) {
        //0 1 2 3 4 
        for (int k = 1; k <5; k++) {
          if(i==k &&i!=j && j!=k ) {
            count++;
            System.out.println(i*100+j*10+k);
          }
      }
    }
  }
  }
}

问题十六: 判断是否为素数

package WEB315307;
import java.util.Scanner;
public class 判断是否为素数 {
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    System.out.println("输入数值");
    try (Scanner scan = new Scanner(System.in)) {
      int n=scan.nextInt();
      isprime(n);
    }
  }
   static void isprime(int n) {
    // TODO Auto-generated method stub
    int m=0;
    for (int i = 2; i < n; i++) {
      if(n%i==0)
        m++;
    }
    if(m==0) {
      System.out.println("为素数");
    }else {
      System.out.println("不是素数");
    }
  }
}

问题十七: 奇数偶数互换

package WEB315307;
import java.util.Scanner;
/**
 * 
 * @author MZFAITHDREAM
 *
 */
public class 奇数偶数互换 {
//把奇数偶数互换
  //所有的基数位向left 所有的偶数位向right
  public static void main(String[] args) {
    // 创建Scanner
    System.out.println("输入数值");
    Scanner scan=new Scanner(System.in);
    int n=scan.nextInt();
        int even=n&0xaaaaaaaa;
        int odd=n&0x55555555; 
        int result= (even>>1)^(odd<<1);
        System.out.println(result);
      }
}

问题十八:球的高度

一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,

* 求它在第10次落地时,共经过多少米?第10次反弹多高?

package WEB315307;
/**
 * 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,
 * 求它在第10次落地时,共经过多少米?第10次反弹多高?
 * @author MZFAITHDREAM
 *
 */
public class 球的高度 {
private static void fall(int num) {
  int sum=0;
  int hight=100;
  for (int i = 0; i <=num; i++) {
    sum=sum+hight;
    hight=hight/2;
  }
  System.out.println("L"+num+sum);
  System.out.println("H"+num+hight);
}
  public static void main(String[] args) {
    // TODO Auto-generated method stub
      fall(10);
  }
}

问题十九: 三个数比大小

输入三个整数x,y,z,请把这三个数由小到大输出。

package WEB315307;
public class 三个数比大小 {
//输入三个整数x,y,z,请把这三个数由小到大输出。
  private static void sort(int x,int y,int z){
    /**
     *  temp=x;
      x=y;
      y=temp;
     */
    int temp=0;
    if(x>y){
      temp=x;
      x=y;
      y=temp;
    }
    if(y>z){
      temp=y;
      y=z;
      z=temp;
    }
    if(x>y){
      temp=x;
      x=y;
      y=temp;
    }
    System.out.println("排列后的三个数是:"+x+","+y+","+z);
  }
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    sort(67, 678, 123);
  }
}

问题二十:统计字符串空格数字

输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

package WEB315307;
/**
 * 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
 * @author MZFAITHDREAM
 *
 */
public class 统计字符串空格数字 {
    private static void just(String String) {
    int number=0,letter=0,space=0,other=0;  
      String  s1="[a-zA-Z]";
      String s2="[0-9]";
      String s3="\\s";
        String [] strings=String.split("");
      for (String s : strings) {
        if(s.matches(s1)) {
          letter++;
        }else if (s.matches(s2)) {
          number++;
        } else if (s.matches(s3)) {
          space++;
        } else {
          other++;
        }
      } 
      System.out.println("字符串的个数"+letter);
      System.out.println("空格的个数"+space);
      System.out.println("数字的个数"+letter);
      System.out.println("其他个数"+number);
    }
  public static void main(String[] args) {
    // TODO Auto-generated method stub
      just("AWE 48 939392 3KDN,NFD KL ");
  }
}
相关文章
|
10月前
Com.Java.Basis第五课《针对流程控制的语句练习题》(一)
Com.Java.Basis第五课《针对流程控制的语句练习题》(一)
26 0
|
3天前
|
安全 Java 调度
深入理解Java并发编程:线程安全与性能优化
【5月更文挑战第12天】 在现代软件开发中,多线程编程是提升应用程序性能和响应能力的关键手段之一。特别是在Java语言中,由于其内置的跨平台线程支持,开发者可以轻松地创建和管理线程。然而,随之而来的并发问题也不容小觑。本文将探讨Java并发编程的核心概念,包括线程安全策略、锁机制以及性能优化技巧。通过实例分析与性能比较,我们旨在为读者提供一套既确保线程安全又兼顾性能的编程指导。
|
1天前
|
存储 安全 Java
Java多线程基础知识总结,36岁老码农现身说法
Java多线程基础知识总结,36岁老码农现身说法
|
1天前
|
Java 测试技术
Java多线程的一些基本例子
【5月更文挑战第17天】Java多线程允许并发执行任务。示例1展示创建并启动两个`MyThread`对象,各自独立打印&quot;Hello World&quot;。示例2的`CounterExample`中,两个线程(IncrementThread和DecrementThread)同步地增加和减少共享计数器,确保最终计数为零。这些例子展示了Java线程的基本用法,包括线程同步,还有如Executor框架和线程池等更复杂的用例。
9 0
|
2天前
|
Java
阅读《代码整洁之道》总结(1),java多线程面试
阅读《代码整洁之道》总结(1),java多线程面试
|
2天前
|
缓存 安全 Java
7张图带你轻松理解Java 线程安全,java缓存机制面试
7张图带你轻松理解Java 线程安全,java缓存机制面试
|
3天前
|
安全 Java 开发者
深入理解Java并发编程:线程安全与性能优化
【5月更文挑战第15天】本文将深入探讨Java并发编程的核心概念,包括线程安全和性能优化。我们将通过实例分析,理解线程安全的重要性,并学习如何通过各种技术和策略来实现它。同时,我们也将探讨如何在保证线程安全的同时,提高程序的性能。
|
3天前
|
消息中间件 并行计算 Java
Java中的多线程编程:基础知识与实践
【5月更文挑战第15天】 在现代计算机编程中,多线程是一个复杂但必不可少的概念。特别是在Java这种广泛使用的编程语言中,理解并掌握多线程编程是每个开发者必备的技能。本文将深入探讨Java中的多线程编程,从基础概念到实际应用场景,为读者提供全面的理论支持和实践指导。
|
3天前
|
Java 程序员 调度
Java中的多线程编程:从理论到实践
【5月更文挑战第14天】在现代计算机技术中,多线程编程是一个重要的概念。它允许多个线程并行执行,从而提高程序的运行效率。本文将从理论和实践两个角度深入探讨Java中的多线程编程,包括线程的基本概念、创建和控制线程的方法,以及如何处理线程同步和通信问题。
|
3天前
|
Java
Java中的多线程编程:基础知识与实践
【5月更文挑战第13天】在计算机科学中,多线程是一种使得程序可以同时执行多个任务的技术。在Java语言中,多线程的实现主要依赖于java.lang.Thread类和java.lang.Runnable接口。本文将深入探讨Java中的多线程编程,包括其基本概念、实现方法以及一些常见的问题和解决方案。