JAVA基础题

1.编写程序,输入一个字符,判断它是否为小写字母,如果是,将它转换成大写字母,否则,不转换。

public class change {
    public static void main(String[] args) {
        System.out.println("请输入一个字母");
        Scanner input = new Scanner(System.in);//创建输入类的对象
        String s = input.next();//读取字符
        if(s.charAt(0)>='a'&&s.charAt(0)<='z')//判断是否为小写并转换为大写
        {
            s=s.toUpperCase();
            System.out.println(s);
        }
        else
            System.out.println(s);
    }
}

2.输入 3 个正数,判断能否构成一个三角形。

public class triangle {
    public static void main(String[] args) {
        System.out.println("请输入三个数");
        Scanner input=new Scanner(System.in);//创建输入类的对象

        System.out.println("请输入第一个数");
        int a=input.nextInt();//读取字符
        System.out.println("请输入第二个数");
        int b=input.nextInt();//读取字符
        System.out.println("请输入第三个数");
        int c=input.nextInt();//读取字符

        int max=0;
        if(a>b)            max=a;
        else            max=b;
        if(c>max)            max=c;
        if(max==a){
            if(b+c>a) System.out.println("能构成三角形");
            else System.out.println("不能构成三角形");
        }
        else if(max==b){
            if(a+c>b) System.out.println("能构成三角形");
            else System.out.println("不能构成三角形");
        }
        else {
            if(a+b>c) System.out.println("能构成三角形");
            else System.out.println("不能构成三角形");
        }

    }
}

3.编写程序,对输入的年、月、日,给出该天是该年的第多少天?
打印出如下图案(菱形)

public class printstar {
    public static void main(String[] args) {
        for(int i=1;i<=4;i++)
           {
           //将空格和*分开看,看" "的变化i=1时,他是4 ,2的时候是3找规律
               for(int j=1;j<=4-i;j++)
                     System.out.print(" ");
                for(int k=1;k<=2*i-1;k++)//找规律,i是 1 3 5 7 基数嘛
                      System.out.print('*');
                //换一行
                System.out.println();
            }
        for(int i=1;i<=3;i++)
            {
                for(int j=1;j<=i;j++)//空格 1 2 3 4 so
                      System.out.print(" ");
                for(int k=6;k>=2*i;k--)//* 7 5 3 1倒着来的基数
                      System.out.print('*');
                  System.out.println();
        }
    }
}

5.猴子吃桃问题。猴子第一天摘下若干个桃子,当时就吃了一半,还不过瘾,
就又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃
前一天剩下的一半零一个。到第 10 天在想吃的时候就剩一个桃子了,求第一天共
摘下来多少个桃子?

public class monkey {
    public static void main(String[] args) {
        int x=1;
        for(int n=1;n<=10;n++){
            x=(x+1)*2;
        }
        System.out.println(x);
    }
}

6.将一个给定的整型数组转置输出,
例如: 源数组,1 2 3 4 5 6
转置之后的数组,6 5 4 3 2 1

public class args {
    public static void main(String[] args) {
        int n=6;
        int arg[]=new int [n];
        Scanner input=new Scanner(System.in);
        System.out.print("请输入6个数字:");
        for(int i=0;i<arg.length;i++){
            arg[i]=input.nextInt();
        }
        System.out.println();
        System.out.print("排序前数组:");
        for(int i=0;i<arg.length;i++){
            System.out.print(arg[i]+" ");
        }
        System.out.println();
        System.out.print("转置后数组:");
        for(int i=arg.length-1;i>=0;i--){
            System.out.print(arg[i]+" ");
        }
    }
}

7.现在有如下的一个数组:
int[] oldArr = {1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} ;
要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新数组为:
int[] newArr = {1,3,4,5,6,6,5,4,7,6,7,5} ;

public class zeroargs {
    public static void main(String[] args) {
        int[] array = {1, 3, 4, 5, 0, 0, 6, 6, 0, 5, 4, 7, 6, 7, 0, 5};
        int new_arrays[] = new int[array.length];//新数组
        //将不为0的元素放到新数组中
        int n=0;
            for (int i = 0; i < array.length; i++) {
                if (array[i] != 0) {
                    new_arrays[n] = array[i];
                    n++;
                }
            }
        System.out.println("生成的新数组为:");
        //输出新数组
        for (int i = 0; i < n; i++) {
            System.out.print(new_arrays[i] + " ");
        }
    }
}

8.现在给出两个数组:
数组a:“1,7,9,11,13,15,17,19”
数组b:“2,4,6,8,10”
两个数组合并为数组c并且排序从小到大输出。

public class addargs {
    public static void main(String[] args) {
        int [] a={1,7,9,11,13,15,17,19};
        int [] b={2,4,6,8,10};
        int [] c=new int [a.length+b.length];
        System.arraycopy(a, 0, c, 0, a.length);
        System.arraycopy(b, 0, c, a.length, b.length);
        System.out.println("合并后的数组c:");
        for(int i=0;i< c.length;i++){
            System.out.print(c[i]+" ");
        }
        int temp;
        for(int i=0;i<c.length;i++){
            for(int j=i+1;j<c.length;j++){
                if(c[i]>c[j]){
                   temp=c[i];
                   c[i]=c[j];
                   c[j]=temp;
                }
            }
        }
        System.out.println();
        System.out.print(Arrays.toString(c));
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值