全国服务热线:400-6263-705

位置:武汉粤嵌教育IT技术培训机构 > 学校动态 > Java热搜问题大整理

Java热搜问题大整理

来源:武汉粤嵌教育IT技术培训机构时间:2021/12/16 9:09:46

  武汉粤嵌IT教育培训今天整理了一下大家平时在java开发编程过程中遇到的问题,大概分析了下java的一些热门查找,因为大部分用户都是一些在校学生,所以热门搜索的问题都是一些基础知识,今天稍微整理下热搜的一些问题,挑一些典型的问题进行解答,希望能对新入手的java新人以启示。
  
  1、java输入语句

 public static void main(String[] args) {
  
  //   public final static InputStream in = null;
  
  Scanner scanner = new Scanner(System.in);
  
  while (scanner.hasNext()){
  
  String i = scanner.next();
  
  System.out.println(i);
  
  }
  
  }
  
  System.in 是从连接控制台的输入流 InputStream
  
  Scanner 是包装类,可以对InputStream 进行转换,在输入的时候转换为Int ,Boolean 等类型,省去手动转换的麻烦
  
  2、java开根号
  
 public static void main(String[] args) {
  
  Scanner scanner = new Scanner(System.in);
  
  while (scanner.hasNext()){
  
  int i = scanner.nextInt();
  
  System.out.println(Math.sqrt(i));
  
  }
  
  }

  
  这个问题应该是初学者不太清楚Math 下面的都有哪些函数,Math下面包含了我们常用的max,min,ceil ,sqrt ,round等函数,在数学运算的时候如果不太清楚,可以打开api看一下,基本上都能满足你的需求。能用库里的就用库里的,别自己瞎造轮子,你造了别人不喜欢用。
  
  3、java进制转换
  
  进制的转换,这种需求太普遍了以至于jdk 直接内置了转换方法,常用的八进制,十六进制,二进制方法直接定义好了,任意进制的也留了进口
  
  将其他进制的数字转换为十进制 Integer.parseInt("121",3) ,个参数是字符串,第二个参数是原来的进制。
  
 public static void main(String[] args) {
  
  int n=  16;
  
  System.out.println(n + "的八进制是:" + Integer.toOctalString(n));
  
  System.out.println(n + "的二进制是:" + Integer.toBinaryString(n));
  
  System.out.println(n + "的十六进制是:" + Integer.toHexString(n));
  
  System.out.println(n + "的3进制是:" + Integer.toString(n, 3));
  
  //        radix进制的字符串s转10进制 Integer.parseInt((String) s,(int) radix);
  
  System.out.println(Integer.parseInt("121",3));
  
  }

  
  4、 java 随机整数
  
  java中产生随机数的方法主要有三种
  
  种:new Random(),Java自带的随机类,可以设置种子进行伪随机,增加每次执行的数据一样
  
  第二种:Math.random() ,java封装之后的工具函数,较终也是调用的Random类
  
  第三种:currentTimeMillis(),根据时间的随机性
  
  public static void main(String[] args) {
  
  double r1 = Math.random();
  
  Random random2 = new Random();
  
  int r2 = random2.nextInt();
  
  Random random3 = new Random(1000);
  
  int r3 = random3.nextInt();
  
  long r4 = System.currentTimeMillis() % 100;
  
  double r5 = Math.random();
  
  }

  
  详细的介绍:战斗要同步,又要有随机,怎么办?
  
  5、九九乘法表java
  
  九九乘法表可能是我初学者的课堂作业,所以也是热搜的词,下面我给一个示例代码
  
  public static void print9x9() {
  
  for (int i = 1; i <= 9; i++) {
  
  for (int j = 1; j <= 9; j++) {
  
  if (i >= j) {
  
  String oneItem = i + "*" + j + "=" + i * j + " ";
  
  System.out.print(oneItem);
  
  }
  
  }
  
  System.out.println();
  
  }
  
  }
  
  注意点:
  
  循环的上限是9,所以结束的是小于等于好
  
  换行符要在外层循环打印
  
  oneItem 代表一个乘法公式
  
  6、回文数java
  
  一个正整数,如果交换高低位以后和原数相等,那么称这个数为回文数。比如 121121,23322332都是回文数,13,456713,4567 不是回文数。
  
  思路:先将数字转为字符串,然后一个字符一个字符进行比较,如果相等则是回文
  
  public static void main(String[] args) {
  
  System.out.println(isRevert(110));
  
  }
  
  public static boolean isRevert(int num){
  
  String value=Integer.toString(num);
  
  char array[]=value.toCharArray();
  
  for (int i =0;i< value.length()/2;i++){
  
  if (array[i]!= array[value.length() -i-1]){
  
  return false;
  
  }
  
  }
  
  return true;
  
  }

  注意点:
  
  个位置要和较后一个位置 length-1 进行比较,所以所以是value.length() -i-1
  
  如果在循环的过程中发现不匹配的字符串,则直接返回false
  
  7、java二分查找
  
  二分法检索(binary search)又称折半查找,二分查找的基本思想是设数组中的元素从小到大有序地存放在数组(array)中(注:二分法查找的关键,首先数组元素必须从小到大有序排列),
  
  (1)首先将给定值 key 与数组中间位置上元素的关键码(key)比较,如果相等,则检索成功;
  
  (2)否则,若 key 小,则在数组前半部分中继续进行二分法检索;
  
  (3)若 key 大,则在数组后半部分中继续进行二分法检索。 这样,经过一次比较就缩小一半的检索区间,如此进行下去,直到检索成功或检索失败。 二分法检索是一种效率较高的检索方法。
  
  class BinarySearch{
  
  /*
  
  二分法查找
  
  */
  
  public static void main(String[] args){
  
  int[] arr = {1,2,3,4,5,6,7,8};
  
  int a = 0;
  
  System.out.println(binarySearch(a,arr));
  
  }
  
  // 二分法查找
  
  static int binarySearch(int a,int[] arr){
  
  // 较大索引
  
  int maxIndex = arr.length -1;
  
  // 较小索引
  
  int minIndex = 0;
  
  // 中间索引
  
  int halfIndex = minIndex+(maxIndex-minIndex)/2;
  
  while (minIndex<=maxIndex){
  
  // 找到时
  
  if (arr[halfIndex]==a){
  
  return halfIndex;
  
  }else if (arr[halfIndex]<a){// 比a小时
  
  minIndex = halfIndex + 1;
  
  }else {// 比a大时
  
  maxIndex = halfIndex - 1;
  
  }
  
  halfIndex = minIndex+(maxIndex-minIndex)/2;
  
  }
  
  return -1;
  
  }
  
  }

  时间复杂度
  
  1.较坏情况查找较后一个元素(或者个元素)Master定理T(n)=T(n/2)+O(1)所以T(n)=O(logn)
  
  2.较好情况查找中间元素O(1)查找的元素即为中间元素(奇数长度数列的正中间,偶数长度数列的中间靠左的元素)
  
  空间复杂度:
  
  S(n)=n
领取试听课
每天限量名额,先到先得

尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/5732/news/456707/违者必究! 以上就是武汉粤嵌教育IT技术培训机构 小编为您整理 Java热搜问题大整理的全部内容。

温馨提示:提交留言后老师会第一时间与您联系!热线电话:400-6263-705