import java.util.Arrays;
import java.util.Scanner;
public class lian6_1 {
public static void main(String[] args) {
int[] numbers=new int[0];
int[] counts=new int[0];
Scanner scanner=new Scanner(System.in);
System.out.print("Enter the integers between 1 and 100:");
while(true){
int num=scanner.nextInt();
if(num==0){
break;
}
int index=isContain(numbers,num);
if(index==-1){
numbers=Arrays.copyOf(numbers, numbers.length+1);
numbers[numbers.length-1]=num;
counts=Arrays.copyOf(counts,counts.length+1);
counts[counts.length-1]=1;
}else{
counts[index]++;
}
}
for(int i=0;i<numbers.length;i++){
System.out.printf("%d occurs %d %s\n",numbers[i],counts[i],counts[i]>1?"times":"time");
}
}
public static int isContain(int[] numbers, int num) {
for(int i=0;i<numbers.length;i++){
if(numbers[i]==num){
return i;
}
}
return -1;
}
}
import java.util.Arrays;
import java.util.Scanner;
public class lian6_2 {
public static void main(String[] args) {
int[] numbers=new int[0];
Scanner scanner=new Scanner(System.in);
System.out.println("Enter a numbers:");
for(int i=1;i<=10;i++){
int num=scanner.nextInt();
if(lian6_1.isContain(numbers, num)==-1){
numbers=Arrays.copyOf(numbers, numbers.length+1);
numbers[numbers.length-1]=num;
}
}
System.out.println(Arrays.toString(numbers));
}
}
import java.util.Scanner;
public class lian6_3 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.print("Enter ten numbers:");
double[] nums=new double[10];
for(int i=0;i<nums.length;i++){
nums[i]=scanner.nextDouble();
}
double deviation=deviation(nums);
System.out.println(deviation);
}
public static double deviation(double[] nums){
double mean=mean(nums);
double sum=0;
for(int i=0;i<nums.length;i++){
sum+=Math.pow(nums[i]-mean, 2);
}
return Math.sqrt(sum/nums.length-1);
}
public static double mean(double[] nums){
double sum=0;
for(int i=0;i<nums.length;i++){
sum+=nums[i];
}
return sum/nums.length;
}
}
6.4
import java.util.Arrays;
import java.util.Scanner;
public class lian6_4 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("Enter ten numbers:");
int[] nums=new int[10];
for(int i=0;i<nums.length;i++){
nums[i]=scanner.nextInt();
}
reverse(nums);
System.out.println(Arrays.toString(nums));
}
private static void reverse(int[] nums) {
for(int i=0;i<nums.length/2;i++){
nums[i]=nums[i]^nums[nums.length-1-i];
nums[nums.length-1-i]=nums[i]^nums[nums.length-1-i];
nums[i]=nums[i]^nums[nums.length-1-i];
}
}
}
import java.util.Scanner;
public class Demo6_5 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.print("Enter list:");
int length=scanner.nextInt();
int[] nums=new int[length];
for(int i=0;i<nums.length;i++){
nums[i]=scanner.nextInt();
}
if(isSortedByUpper(nums)){
System.out.println("yes by upper");
}else{
System.out.println("no by upper");
}
if(isSortedByLower(nums)){
System.out.println("yes by lower");
}else{
System.out.println("no by lower");
}
}
private static boolean isSortedByLower(int[] nums) {
for(int i=0;i<nums.length-1;i++){
if(nums[i]<nums[i+1]){
return false;
}
}
return true;
}
private static boolean isSortedByUpper(int[] nums) {
for(int i=0;i<nums.length-1;i++){
if(nums[i]>nums[i+1]){
return false;
}
}
return true;
}
}
import java.util.Arrays;
import java.util.Scanner;
public class lian6_6_1 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.print("Enter the number of balls to drop:");
int ballsNumber=scanner.nextInt();
System.out.print("Enter the number of slots int the bean machine:");
int slotsNumber=scanner.nextInt();
String[] paths=new String[ballsNumber];
for(int i=0;i<paths.length;i++){
paths[i]="";
}
//将每个豆子的轨迹用左右表示
for(int i=0;i<paths.length;i++){
for(int j=1;j<=slotsNumber-1;j++){
paths[i]+=(int)(Math.random()*2)==0?"L":"R";
}
}
for(int i=0;i<paths.length;i++){
System.out.println(paths[i]);
}
//定义槽子数组
int[] slots=new int[slotsNumber];
/*0个R 豆子在第一个槽(但槽子的角标从0开始的)
*1个R 豆子在第二个槽
*.......
* 通过判断R的个数即可知道豆子最终落在哪个槽
* 然后再槽子的位置++即可
* */
for(int i=0;i<paths.length;i++){
int count=HowManyR(paths[i]);
slots[count]++;
}
System.out.println(Arrays.toString(slots));
print(slots);
}
private static void print(int[] slots) {
int max=getMax(slots);
//max代表槽子中豆子最多的个数
for(int i=0;i<max;i++){//i代表行
for(int j=0;j<slots.length;j++){//slots.length代表列
//max-i>槽子中的豆子数的话,打印空格
if(max-i>slots[j]){
System.out.print("| ");
}else{
System.out.print("|o");
}
}
System.out.println("| ");
}
}
private static int getMax(int[] slots) {
int max=0;
for(int i=0;i<slots.length;i++){
if(slots[i]>max){
max=slots[i];
}
}
return max;
}
private static int HowManyR(String path) {
int count=0;
for(int i=0;i<path.length();i++){
if(path.charAt(i)=='R'){
count++;
}
}
return count;
}
}
public class lian6_7 {
public static void main(String[] args) {
//布尔类型数组模拟柜子开关
boolean[] box=new boolean[100];
//100个学生
for(int i=1;i<=100;i++){
for(int j=0;j<box.length;j+=i){
box[j]=!box[j];
}
}
for(int i=0;i<box.length;i++){
System.out.print(box[i]==true?"开":"关"+" ");
if(i%10==9){
System.out.println();
}
}
}
}
import java.util.Arrays;
public class lian6_8_1 {
public static void main(String[] args) {
String[] suits={"Spades","Clubs","Hearts","Diamonds"};
String[] ranks={"Ace","2","3","4","5","6","7","8",
"9","10","Jack","Queen","King"};
String[] result=new String[0];
int count=0;
while(result.length!=4){
int index=(int)(Math.random()*4);
if(!isContain(result,suits[index])){
result=Arrays.copyOf(result,result.length+1);
result[result.length-1]=suits[index];
}
count++;
}
for(int i=0;i<result.length;i++){
System.out.printf("%s of %s\n",ranks[(int)(Math.random()*13)],result[i]);
}
System.out.println("Number of picks:"+count);
}
private static boolean isContain(String[] result, String suit) {
for(int i=0;i<result.length;i++){
if(result[i].equals(suit)){
return true;
}
}
return false;
}
}
import java.util.Scanner;
public class lian6_10 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.print("Enter list1:");
int len1=scanner.nextInt();
int[] list1=new int[len1];
for(int i=0;i<list1.length;i++){
list1[i]=scanner.nextInt();
}
System.out.print("Enter list2:");
int len2=scanner.nextInt();
int[] list2=new int[len1];
for(int i=0;i<list2.length;i++){
list2[i]=scanner.nextInt();
}
System.out.println(equals(list1, list2));
}
public static boolean equals(int[] list1,int[] list2){
if(list1.length!=list2.length){
return false;
}
for(int i=0;i<list1.length;i++){
if(list1[i]!=list2[i]){
return false;
}
}
return true;
}
}
import java.util.Arrays;
import java.util.Scanner;
public class lian6_11 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.print("Enter list1:");
int len1=scanner.nextInt();
int[] list1=new int[len1];
for(int i=0;i<list1.length;i++){
list1[i]=scanner.nextInt();
}
System.out.print("Enter list2:");
int len2=scanner.nextInt();
int[] list2=new int[len1];
for(int i=0;i<list2.length;i++){
list2[i]=scanner.nextInt();
}
if(equals(list1, list2)){
System.out.println("Tow lists are identical ");
}else{
System.out.println("Tow lists are not identical ");
}
}
public static boolean equals(int[] list1,int[] list2){
Arrays.sort(list1);
Arrays.sort(list2);
if(list1.length!=list2.length){
return false;
}
for(int i=0;i<list1.length;i++){
if(list1[i]!=list2[i]){
return false;
}
}
return true;
}
}
import java.util.Arrays;
import java.util.Scanner;
public class lian6_12 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("Enter 10 numbers :");
int[] nums=new int[0];
for(int i=0;i<10;i++){
int num=scanner.nextInt();
if(!contain(nums,num)){
nums=Arrays.copyOf(nums, nums.length+1);
nums[nums.length-1]=num;
}
}
for(int i=0;i<nums.length-1;i++){
for(int j=i+1;j<nums.length;j++){
System.out.printf("[%s,%s]",nums[i],nums[j]);
}
System.out.println();
}
}
private static boolean contain(int[] nums, int num) {
for(int i=0;i<nums.length;i++){
if(nums[i]==num){
return true;
}
}
return false;
}
}
6.13
import java.util.Scanner;
public class lian6_13 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.print("Enter the numbers of values: ");
int n=scanner.nextInt();
int[] list=new int[n];
System.out.print("Enter the values:");
for(int i=0;i<list.length;i++){
list[i]=scanner.nextInt();
}
if(isConsecutiveFour(list)){
System.out.println("The list has consecutive fours");
}else{
System.out.println("The list has no consecutive fours");
}
}
public static boolean isConsecutiveFour(int[] values){
for(int i=0;i<values.length-3;i++){
if(values[i]==values[i+1]&&values[i]==values[i+2]&&values[i]==values[i+3]){
return true;
}
}
return false;
}
}
import java.util.Scanner;
public class lian6_13_1 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.print("Enter the number of values:");
int len=scanner.nextInt();
int[] nums=new int[len];
if(len<=0){
System.out.println("输入错误");
return;
}
System.out.print("Enter the valuse:");
for(int i=0;i<nums.length;i++){
nums[i]=scanner.nextInt();
}
boolean b=isConsecutiveFour(nums);
System.out.println(b);
}
public static boolean isConsecutiveFour(int[] nums){
for(int i=0;i<nums.length-1;){
int count=1;
for(int j=i+1;j<nums.length;j++){
if(nums[i]==nums[j]){
count++;
}else{
break;
}
}
i=i+count;
if(count>=4){
return true;
}
}
return false;
}
}
import java.util.Arrays;
import java.util.Scanner;
public class lian6_14 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("Enter list1:");
int len1=scanner.nextInt();
int[] list1=new int[len1];
for(int i=0;i<list1.length;i++){
list1[i]=scanner.nextInt();
}
System.out.println("Enter list2:");
int len2=scanner.nextInt();
int[] list2=new int[len2];
for(int i=0;i<list2.length;i++){
list2[i]=scanner.nextInt();
}
int[] list3=merge(list1, list2);
System.out.println(Arrays.toString(list3));
}
public static int[] merge(int[] list1,int[] list2){
for(int i=0;i<list2.length;i++){
list1=Arrays.copyOf(list1, list1.length+1);
list1[list1.length-1]=list2[i];
}
Arrays.sort(list1);
return list1;
}
}
import java.util.Scanner;
/*1.定义一个单词数组
*2.随机选取单词数组中的单词
*3.创建一个长度等于单词长度的boolean数组
*4.根据布尔类型的打印单词 true 字母 false *
*5.用户输入一个字母
*6.判断该字母是否出现在单词中
* 6.1如果出现
* 6.1.1密文(false) 改变字母对应位置的状态为true
* 6.1.2明文 提示用户字母已存在
* 6.2不存在
* 错误计数 count++
* 执行4
*
* 7.直到stutas中状态全为True结束猜词
* 8.提示是否下一次游戏进行
* */
public class lian6_15 {
public static void main(String[] args) {
String[] words={"wang","shi","yang","heng","diomg","qing","zong"};
Scanner scanner=new Scanner(System.in);
while(true){
String word=words[(int)(Math.random()*words.length)];
boolean[] stauts=new boolean[word.length()];
int counts=0;
while(!isStautsAllTrue(stauts)){
String info=getWordByStauts(word,stauts);
System.out.print("(Guess) Enter a letter in word "+info+">");
String letter=scanner.next();
if(isLetterInword(letter,word)){
if(isLetterInWordTrue(letter,word,stauts)){
System.out.printf("\t %s is already in the word\n",letter);
}else{
changLetterStauts(letter,word,stauts);
}
}else{
counts++;
System.out.printf("\t %s is not in word\n",letter);
}
}
System.out.printf("The word is %s .You missed %d time\n",word,counts);
System.out.print("Do you want to guess another word?(y/n)");
String chioce=scanner.next();
if(chioce.equalsIgnoreCase("n")){
break;
}
}
System.out.println("Game Over!");
}
private static void changLetterStauts(String letter, String word,
boolean[] stauts) {
for(int i=0;i<word.length();i++){
if(letter.equals(word.charAt(i)+"")){
stauts[i]=true;
}
}
}
private static boolean isLetterInWordTrue(String letter, String word,
boolean[] stauts) {
for(int i=0;i<word.length();i++){
if(letter.equals(word.charAt(i))){
return stauts[i];
}
}
return false;
}
private static boolean isLetterInword(String letter, String word) {
for(int i=0;i<word.length();i++){
if(letter.equals(word.charAt(i)+"")){
return true;
}
}
return false;
}
private static String getWordByStauts(String word, boolean[] stauts) {
String info="";
for(int i=0;i<stauts.length;i++){
if(stauts[i]){
info+=word.charAt(i);
}else{
info+="*";
}
}
return info;
}
private static boolean isStautsAllTrue(boolean[] stauts) {
for(int i=0;i<stauts.length;i++){
if(stauts[i]==false){
return false;
}
}
return true;
}
}