java基础题
数组
1.程序随机生成一个20个整数数据的数组,然后输入要查找的数据,如果数据存在返回
数据所在的位置,如果不存在打印不存在;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
/**
* 程序随机生成一个20个整数数据的数组,然后输入要查找的数据
*/
//要点:输出结果注意循环会循环,通过定义标记值index
class Demo1 {
public static void main(String[] args) {
//随机生成数组
Random r = new Random();
int[] arr = new int[20];
for (int i = 0; i < arr.length; i++) {
arr[i] = r.nextInt(100);
}
System.out.println(Arrays.toString(arr));
//定义查找的返回值,如果找到,将循环的值赋值给它,没找到,就是原本定义的-1。
int index = -1;
//随机输入数
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for (int i = 0; i < arr.length; i++) {
if (n == arr[i]) {
//如果找到了,记录索引位置
index = i;
//中断循环,不找了。
break;
}
}
if (index > 0) {
System.out.println("输入的值" + n + "位于该数组的第" + (index + 1) + "个 位置");
} else {
System.out.println("输入的值" + n + "没有找到");
}
}
}
运行结果
2.产生100个[1,6]之间的随机数,利用频率数组统计每个数字出现的次数
public class Frequence {
public static void main(String[] args) {
int[] randArray=new int[100];//设定数组长度
int[] coutArry=new int[6];//接收次数
int randValue;
for(int i=0;i<100;i++){
randValue=(int)(Math.random()*6+1);
randArray[i]=randValue;
System.out.print(randValue);
if ((i+1)%10==0){
System.out.println();//每输出十个数字换行
}
coutArry[randArray[i]-1]++;//记录生成的随机数,并记录每个数出现的次数
}
System.out.println();
for (int i=0;i<6;i++){
System.out.println("数字"+(i+1)+"出现的次数"+coutArry[i]);
}
}
}
运行结果
3.编写程序,将ASCII码位于32-126之间的95个字符显示在屏幕上。
package com.company;
public class Frequence{
public static void main(String[] args) {
for (int i = 32; i <= 126; i++) {
String s = i < 100 ? "0" + i : String.valueOf(i);
System.out.print(s + "=" + (char) i + "\t");
//if(i%8==0) 第一行会空行
// (i-31)控制从第一行起
if ((i - 31) % 8 == 0) {
System.out.println();
}
}
}
}