簡単で面白いjava問題
9631 ワード
1.テーマ:1、2、3、4つの数字があって、何個の互いに異なってしかも重複する数字の3桁の数がないことを構成することができますか?どれくらいですか.
2.テーマ:企業が支給するボーナスは利益によって引き上げられる.利益(I)が10万元以下の場合、ボーナスは10%引き上げることができる.利益が10万元を上回り、20万元を下回った場合、10万元を下回った部分は10%で、10万元を上回った部分は、ココアが7.5%に上昇した.20万から40万の間で、20万元を超える部分は、5%に引き上げることができます.40万から60万の間に40万元を超える部分は、3%に引き上げることができる.60万から100万の間の時、60万元の部分を上回って、1.5%に引き上げることができて、100万元の時を上回って、100万元の部分を上回って1%によって引き上げて、キーボードから当月の利益Iを入力して、ボーナスの総数を支払うべきですか?
3.题目:1つの整数、それは100をプラスした后に1つの完全な平方数で、更に168をプラスしてまた1つの完全な平方数で、この数はいくらですか?
4.タイトル:ある年ある月ある日を入力し、この日がこの年の何日目かを判断します.
5.タイトル:3つの整数x,y,zを入力して、この3つの数を小さいから大きいまで出力してください.
public
class
TestTN {
public
static
void
main(String[] args) {
for
(
int
i=
1
; i<=
4
; i++){
for
(
int
j=
1
; j<=
4
; j++){
if
(j == i)
continue
;
for
(
int
k=
1
; k<=
4
; k++){
if
(k == j || k == i)
continue
;
System.out.print(i*
100
+ j*
10
+ k +
","
);
}
}
}
}
}
2.テーマ:企業が支給するボーナスは利益によって引き上げられる.利益(I)が10万元以下の場合、ボーナスは10%引き上げることができる.利益が10万元を上回り、20万元を下回った場合、10万元を下回った部分は10%で、10万元を上回った部分は、ココアが7.5%に上昇した.20万から40万の間で、20万元を超える部分は、5%に引き上げることができます.40万から60万の間に40万元を超える部分は、3%に引き上げることができる.60万から100万の間の時、60万元の部分を上回って、1.5%に引き上げることができて、100万元の時を上回って、100万元の部分を上回って1%によって引き上げて、キーボードから当月の利益Iを入力して、ボーナスの総数を支払うべきですか?
package
test50;
import
java.io.BufferedReader;
import
java.io.InputStreamReader;
/**
* @author VellBibi
*【 12】 MoneyAward.java
* : 。
* (I) 10 , 10%;
* 10 , 20 , 10 10% , 10 , 7.5%;
*20 40 , 20 , 5%;
*40 60 40 , 3%;
*60 100 , 60 , 1.5%,
* 100 , 100 1% ,
* I, ?
*1. : , 。 。
*/
public
class
MoneyAward {
public
static
double
sumMoneyAward(
double
i){
if
(i <=
10
){
return
i *
0.1
;
}
else
if
(i <
20
){
return
((i -
10
) *
0.075
+
1
);
}
else
if
(i <
40
){
return
(i -
20
) *
0.05
;
}
else
if
(i <
60
){
return
(i -
40
) *
0.03
;
}
else
if
(i <
100
){
return
(i -
60
) *
0.015
;
}
else
{
return
(i -
100
) *
0.001
;
}
}
public
static
void
main(String[] args) {
BufferedReader br =
new
BufferedReader(
new
InputStreamReader(System.in));
double
I =
0
;
try
{
System.out.println(
" I:( : )"
);
I = Integer.parseInt(br.readLine());
}
catch
(Exception e) {
e.printStackTrace();
}
System.out.println(
" :"
+ sumMoneyAward(I) +
" "
);
}
}
3.题目:1つの整数、それは100をプラスした后に1つの完全な平方数で、更に168をプラスしてまた1つの完全な平方数で、この数はいくらですか?
/**
* @author VellBibi
*【 13】FindNumber.java
* : , 100 , 168 , ?
*1. : 10 , 100 , 268 , , 。 :
*/
public
class
FindNumber {
public
static
void
main(String[] args) {
for
(
int
i=
1
; i<
100000
; i++){
if
(Math.sqrt(i +
100
) %
1
==
0
&& Math.sqrt(i +
268
) %
1
==
0
){
System.out.println(i);
// break;
}
}
}
}
4.タイトル:ある年ある月ある日を入力し、この日がこの年の何日目かを判断します.
package test50;
import java.io.BufferedReader;
import java.io.InputStreamReader;
/**
* @author VellBibi
*【 14】 TestDay.java
* : , ?
*1. : 3 5 , , 5 , , 3 。
*/
public class TestDay {
public static boolean isLeapYear(int y){
if((y%4 == 0 && y%100 != 100) || y%400 == 0)
return true;
else
return false;
}
public static int sumDays(int y, int m, int d){
int[] MonthDays = {31,28,31,30,31,30,31,31,30,31,30,31};
if(isLeapYear(y)) MonthDays[1] = 29;
int ans = 0;
for(int i=0; i<m-1; i++){
ans = ans + MonthDays[i];
}
return ans + d;
}
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String in = null;
try {
System.out.println(" , :2014-01-01");
in = br.readLine();
} catch (Exception e) {
System.out.println(" ");
}
int y = Integer.parseInt(in.substring(0, in.indexOf('-')));
int m = Integer.parseInt(in.substring(in.indexOf('-') + 1, in.lastIndexOf('-')));
int d = Integer.parseInt(in.substring(in.lastIndexOf('-') + 1));
System.out.println(sumDays(y, m, d));
}
}
5.タイトル:3つの整数x,y,zを入力して、この3つの数を小さいから大きいまで出力してください.
package test50;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
/**
* @author VellBibi
* : x,y,z, 。
* 1. : , , List 。
*/
public class Sort {
public static List<Double> readDouble(String str, String sp){
List<Double> l = new ArrayList<Double>();
int j = 0;
for(int i=0; i<str.length(); i++){
if(str.substring(i, i+1).equalsIgnoreCase(sp) ){
l.add(Double.parseDouble(str.substring(j, i)));
j = i + 1;
}
}
return l;
}
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
List<Double> l = null;
try {
System.out.println(" , :1,2,3,4,");
l = readDouble(br.readLine(), ",");
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(l.isEmpty());
Collections.sort(l);
Iterator<Double> it = l.iterator();
while(it.hasNext()){
System.out.print(it.next() + " ");
}
}
}