ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

JAVA编程_11-16_读数字(switch练习)/求素数 /毕业聚会/冒泡算法/选择排序 / 输入单词倒置

2021-11-18 14:04:54  阅读:99  来源: 互联网

标签:11 输出 JAVA Scanner 16 int sc public 输入


11_读数字(switch练习)

输入一个整数,输出每个数字对应的拼音。只处理正数。十个数字对应的拼音如下:

0: ling 1: yi 2: er 3: san 4: si 5: wu 6: liu 7: qi 8: ba 9: jiu

注意:使用Scanner sc=new Scanner(System.in)来处理读入整数,需要使用的方法为sc.nextInt()。 。

输入格式:

先输入整数的个数,然后挨个输入整数。

输出格式:

在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格。

输入样例:

在这里给出一组输入。例如:

5
1 3 4 5 6

结尾无空行

输出样例:

在这里给出相应的输出。例如:

yi san si wu liu

结尾无空行

import java.util.*;
public class Main{
    public static void main(String args[]){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int a[]=new int[n],i;
        for(i=0;i<n;i++){
            a[i]=sc.nextInt();
        }
        //for(i=0;i<n;i++){
           // System.out.print(a[i]);
       // }
        for(i=0;i<n-1;i++){
            switch(a[i]){
                    case 0: System.out.print("ling ");break;
                    case 1: System.out.print("yi ");break;
                    case 2: System.out.print("er ");break;
                    case 3: System.out.print("san ");break;
                    case 4: System.out.print("si ");break;
                    case 5: System.out.print("wu ");break;
                    case 6: System.out.print("liu ");break;
                    case 7: System.out.print("qi ");break;
                    case 8: System.out.print("ba ");break;
                    case 9: System.out.print("jiu ");break;
            }
        }
        switch(a[i]){
                    case 0: System.out.print("ling");break;
                    case 1: System.out.print("yi");break;
                    case 2: System.out.print("er");break;
                    case 3: System.out.print("san");break;
                    case 4: System.out.print("si");break;
                    case 5: System.out.print("wu");break;
                    case 6: System.out.print("liu");break;
                    case 7: System.out.print("qi");break;
                    case 8: System.out.print("ba");break;
                    case 9: System.out.print("jiu");break;
            }
    }
}

12_求素数

输入一个整数,求该整数范围内的所有素数。

输入格式:

输入一个正整数。

输出格式:

一行5个素数,每两个之间用制表符(“\t”)间隔。如果最后一行不是5个数字,那么最后一个数字后面有一个制表符。

输入样例:

在这里给出一组输入。例如:

100

结尾无空行

输出样例:

在这里给出相应的输出。例如:

2	3	5	7	11
13	17	19	23	29
31	37	41	43	47
53	59	61	67	71
73	79	83	89	97

结尾无空行

import java.util.*;
public class Main{
    public static void main(String args[]){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int i,cnt=0;
        for(i=2;i<n;i++){
            if(sushu.s(i)){
                cnt++;
                if(cnt%5!=0)
                    System.out.print(i+"\t");
                else 
                    System.out.print(i);
                if(cnt%5==0)
                    System.out.println();
            }
            
        }
    }
    
}
class sushu{
    static boolean s(int a){
        if(a<=1){
            return false;
        }
        else{
            for(int i=2;i<a;i++){
                if(a%i==0)return false;
            }
        }
        return true;
    }
}

 13_毕业聚会 

毕业在即,三位小伙伴马上要分别。为了在未来的某个日子可以见面,三位小伙伴有了一个约定,假设在未来的某一年,三位小伙伴的年龄的末尾正好出现3、6、9三个数,那么他们会再次相聚。

现在问题来了,假设今年三位小伙伴的年龄分别是x,y,z,那么,他们三人最早几年后可以相聚呢?

输入格式:

输入数据包括三个整数x,y,z,分别表示三位伙伴的年龄。

输出格式:

如果小伙伴最早在n年后可以相见(不包括当前这一年),那么请输出这个n;如果100年内都不存在这样的情况,输出:so sad!

输入样例:

在这里给出一组输入。例如:

25 22 28

结尾无空行

输出样例:

在这里给出相应的输出。例如:

1

结尾无空行

import java.util.*;
public class Main{
    public static void main(String args[]){
        Scanner sc=new Scanner(System.in);
        int x=sc.nextInt(),y=sc.nextInt(),z=sc.nextInt();
        int fx=0,fy=0,fz=0,flag6=0,cnt=0;
        int i=0,flag9=0,flag3=0;
        while(flag3==0||flag6==0||flag9==0){
            flag3=0;
            flag6=0;
            flag9=0;
            x++;y++;z++;cnt++;
            fx=x;fy=y;fz=z;
            if(fx%10==3||fy%10==3||fz%10==3){
                flag3++;
            }
            if(fx%10==6||fy%10==6||fz%10==6){
                flag6++;
            }
            if(fx%10==9||fy%10==9||fz%10==9){
                flag9++;
            }
            if(cnt>100)
                break;
        }
        if(cnt<=100)System.out.print(cnt);
        else System.out.print("so sad!");
    }
}

 14_冒泡算法(打出中间过程)

冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。请完成8个整数的冒泡排序,并打印出中间过程。

打印代码如下:
class printTools{
    static int n;
    public static void PrintArray(int a[]){
        n=a.length;
        for(int i=0;i<=a.length-1;i++){
            if(i==0){
                System.out.print(a[i]);
            }
            else{
                System.out.print(" "+a[i]);
            }
        }
        System.out.println();
    }
}

输入格式:

8个整数。

输出格式:

8个中间过程

输入样例:

13 2 8 7 5 3 4 1

结尾无空行

输出

2 8 7 5 3 4 1 13
2 7 5 3 4 1 8 13
2 5 3 4 1 7 8 13
2 3 4 1 5 7 8 13
2 3 1 4 5 7 8 13
2 1 3 4 5 7 8 13
1 2 3 4 5 7 8 13

结尾无空行

import java.util.*;
public class Main{
    public static void main(String args[]){
        Scanner sc=new Scanner(System.in);
        int a[]=new int[8];
        for(int i=0;i<8;i++){
            a[i]=sc.nextInt();
        }
        int j,temp,i,k;
        for(i=0;i<7;i++){
            for(j=0;j<7;j++){
                if(a[j]>a[j+1]){
                    temp=a[j];
                    a[j]=a[j+1];
                    a[j+1]=temp;
                }
            }
            for(k=0;k<8;k++){
                if(k!=7)
                System.out.print(a[k]+" ");
                else
                    System.out.print(a[k]);
            }
            System.out.println();
        }
    }
}

15_选择排序 

选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 请完成8个整数的选择排序,并打印出中间过程。

打印代码如下:
class printTools{
    static int n;
    public static void PrintArray(int a[]){
        n=a.length;
        for(int i=0;i<=a.length-1;i++){
            if(i==0){
                System.out.print(a[i]);
            }
            else{
                System.out.print(" "+a[i]);
            }
        }
        System.out.println();
    }
}

输入格式:

8个整数。

输出格式:

8个中间过程

输入样例:

8 7 6 5 4 3 2 1

结尾无空行

输出样例:

1 7 6 5 4 3 2 8
1 2 6 5 4 3 7 8
1 2 3 5 4 6 7 8
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8

结尾无空行

import java.util.*;
public class Main{
    public static void main(String args[]){
        Scanner sc=new Scanner (System.in);
        int a[]=new int[8],i,j,min=0,k=0,tmp=0,q=0;
        for(i=0;i<8;i++){
            a[i]=sc.nextInt();
        }
        for(i=0;i<8;i++){
            min=a[i];
            q=i;
            for(j=i;j<8;j++){
                if(min>a[j]){
                    min=a[j];
                    q=j;
                }
                    
            }
            tmp=a[i];
            a[i]=min;
            a[q]=tmp;
            for(k=0;k<8;k++){
                if(k!=7)
                    System.out.print(a[k]+" ");
                else 
                    System.out.println(a[k]);
                
            }
        }
    }
}

 16_输入单词倒置 

通过键盘输入几个单词,每个单词以空格分开。然后从最后一个单词开始,挨个输出每个单词。输出时每个单词之间有一个空格,最后一个单词后面没有空格。

输入样例:

I love Java

结尾无空行

输出样例:

Java love I

结尾无空行

import java.util.*;
public class Main{
    public static void main(String ags[]){
        Scanner sc=new Scanner(System.in);
        String str=sc.nextLine();
        int t[]=new int[10];
        t[0]=0;
        int i=0,j=1;
        for(i=0;i<str.length();i++){
            if(str.charAt(i)==' '){
                t[j++]=i+1;
            }
        }
        j--;
        /*for(int o:t){
            System.out.print(o);
        }*/
        while(j>=0){
            for(i=t[j];i<str.length();i++){
                if(str.charAt(i)==' ')break;
                System.out.print(str.charAt(i));
            }
            if(j!=0)
                System.out.print(" ");
            j--;
        }
    }
}

标签:11,输出,JAVA,Scanner,16,int,sc,public,输入
来源: https://blog.csdn.net/LEAF_per/article/details/121386910

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有