Java面试常见编程题

1、输入三个正整数,判断是否能够构成三角形。

import java.util.Scanner;//导入scanner类

public class Test1 {
public static void main(String[] args) {
    Scanner sr = new Scanner(System.in);    //Scanner类获取用户的输入,即从键盘接收数据
    System.out.println(“请输入三个正整数:”);    //用next()或nextLine()来获取输入的数据
    int a = sr.nextInt();
    int b = sr.nextInt();
    int c = sr.nextInt();

    if (a<=0||b<=0||c<=0){
        System.out.println(“输入错误,请重新输入”);

    }else if ((a+b)>c&&(a+c)>b&&(b+c)>a){
        System.out.println(“此组数可构成三角形”);

    }else
        System.out.println(“此组数不可构成三角形”);
    }
}

2、java求一个n*n矩阵的对角线元素之和,若元素重复则去重。(未做去重)

import java.util.*;
public class test2{
    public static void main(String args[]){
    System.out.print("请输入n*n的n值为:");
    Scanner sr=new Scanner(System.in);
    int s=sr.nextInt();
    int a[][]=new int[n][n];
    int sum=0;
    for(int i=0;i<n;i++){ //遍历矩阵
        for(int j;j<n;j++){
            a[i][j]=(int)(Math.random()*10);//随机生成n*n数组
            System.out.print(a);
            if(i==j||i+j==n-1){//判断主对角线和副对角线
                sum+=a[i][j];//对角线数字之和
                }
            }
            System.out.print();
        }
        System.out.print("对角线之和为:"+sum);
    }
}

 3、判断输入的年份是否为闰年(1、能整除4且不能整除100;2、能整除400)

import java.util.Scanner;
public class test2{
    public static void main(String args[]){
    System.out.print("请输入年份:");
    Scanner Y=new Scanner(System.in);
    int year=Y.nextInt();
    if(year%4==0&&year%100!=0||year%100==0){
        System.out.printIn(year+"为闰年");
        }
        System.out.printIn(year+"为平年");
    }
}

4、求100以内的质数并求和(除数只有1和本身,且大于1)

package com.cn;
public class Test {
    public static void main(String[] args){
        boolean num = true;
        int sum=0;
        //质数:大于1的自然数,除了1和它本身外,不能被其他自然数(质数)整除
       
         for(int i=2;i<1000;i++){  //遍历1000以内的数
       
            for(j=2;j<i);j++)//判断是否为质数
                if(i%j==0)  
                    num =flase;  
                    break;
            if(num){
                System.out.print(i+" ");//打印质数
                sum+=i;    
            }                      
        }
        System.out.println("1000以内的质数之和为:"+sum);        
    }
}

猜你喜欢

转载自blog.csdn.net/qq_41389678/article/details/115119866