public static void main(String[] args) {
// 1 1 2 3 5 8 13 21 34 55 89 144...
// 菲波那切数列
int[] a=new int[10];
for(int i=0;i<a.length;i++) {
if (i==0 || i==1) {
a[i]=1;
}else {
a[i]=a[i-1]+a[i-2];
}
}
for (int i = 0; i < a.length; i++) {
System.err.println(a[i]);
}
}
//打印出九九乘法表
//1*1=1
//1*2=2 2*2=4
public static void main(String[] args) {
for(int i=1;i<10;i++) {
for(int j=1;j<=i;j++) {
System.err.print(j+"*"+i+"="+j*i+" ");
}
System.err.println();
}
}
//冒泡排序(由小到大)
public static void main(String[] args) {
int[] arr=new int[] {1,33,23,17,33,45,2,4};
for(int i=0;i<arr.length-1;i++) {
for(int j=0;j<arr.length-i-1;j++) {
int temp;
if (arr[j]>arr[j+1]) {
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for(int i=0;i<arr.length;i++) {
System.err.println(arr[i]);
}
}
//打印输出
/* j=0 j=1 j=2
*i=1 1 4 7 10
* 2 5 8 11
* 3 6 9 12
* 每行的后一个数比前一个数多3
*/
public static void main(String[] args) {
for(int i=1;i<=3;i++) {
for(int j=0;j<4;j++) {
System.err.print(i+j*3+" ");
}
System.err.println();
}
}
/*
* 打印出如下图案
* j=1
* i=0 1 1 1 1 * 1 1 1 1
* 1 1 1 * 1 * 1 1 1
* 1 1 * 1 1 1 * 1 1
* 1 * 1 1 1 1 1 * 1
* * 1 1 1 1 1 1 1 *s
*/
public static void main(String[] args) {
for(int i=0;i<5;i++) {
for(int j=1;j<10;j++) {
if(j == 5-i || j == 5+i) {
System.err.print("*"+" ");
}else {
System.err.print("1"+" ");
}
}
System.err.println();
}
}
//判断101——200之间有多少个素数,并输出所有的素数
//分析:能被1或它本身整除的数称之为素数
//用这个数去除以2到自身少1的数/或者sqrt(这个数)
public static boolean isnum(int num) {
for(int j=2;j<Math.sqrt(num);j++) {
if(num % j == 0) {
return false;//不是
}
}
return true;//是
}
public static void main(String[] args) {
int n = 0;
for(int i=101;i<200;i++) {
if (isnum(i)) {
System.err.print(i+"是素数 ");
n++;
if (n % 5 == 0) {
System.err.println();
}
}
}
}
//打印出水仙花数(100——999之间的所有水仙花数(百位数的立方+十位数的立方+个位数的立方=本身))
public static void main(String[] args) {
for(int i=100;i<=999;i++) {
int bai = i/100%10;
int shi = i/10%10;
int ge = i%10;
int n = 0;
if(bai*bai*bai+shi*shi*shi+ge*ge*ge == i) {
System.err.print(i+"是 ");
}
}
}
//分解质因数90=2*3*3*5
public static boolean sushu(int num) {
for(int i=2;i<Math.sqrt(num);i++) {
if(num % i == 0) {
return false;
}
}
return true;
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入:");
int a=sc.nextInt();
System.err.print(a+"=");
while(sushu(a)==false) {
for(int i=2;i<a;i++) {
if(a % i == 0) {
System.err.print(i+"*");
a=a/i;
}
}
}
System.err.print(a);
}
//利用条件运算符的嵌套来完成此题:
//学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
public static void main(String[] args) {
int score=60;
char ch=score >= 90? 'A':(score>=60?'B':'C');
System.err.println(ch);
}
//输入一行字符,分别统计出其英文字母、空格、数字和其它字符的个数。
//(1)数字0到9: 48~57
//(2)字母A到Z:65到90 a到z:97到122
//(3)空格是32
public static void main(String[] args) {
String str="8u893i 78uyAB";
char[] ch=str.toCharArray();
int shuzi = 0;
int zimu=0;
int kongge=0;
for(int i=0;i<ch.length;i++) {
if(ch[i] >= 48 && ch[i] <= 57) {
shuzi++;
}else if(ch[i] >= 65 && ch[i] <= 90 || ch[i] >= 97 && ch[i] <= 122) {
zimu++;
}else if(ch[i] == 32){
kongge++;
}
}
System.err.println("数字:"+shuzi);
System.err.println("字母:"+zimu);
System.err.println("空格:"+kongge);
}
//求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。
//例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
//输出结果的形式如:2+22+222=246;(注意*=和+=的使用)
public static void main(String[] args) {
int n=5;
int a=2;
int[] arr=new int[n];
arr[0]=a;
for(int i=1;i<n;i++) {
a=a*10;
arr[i]=a+arr[i-1];
}
int sum=0;
for(int j=0;j<arr.length;j++) {
sum=sum+arr[j];
System.err.print(arr[j]+" ");
}
System.err.println(sum);
}
//一个数如果恰好等于它的因子之和,这个数就称为”完数”。
//例如6=1+2+3.编程找出1000以内的所有完数。
public static void main(String[] args) {
for(int i=1;i<=1000;i++) {
int sum=0;
for(int j=1;j<=i/2;j++) {
if(i % j ==0) {
sum+=j;
}
}
if(i == sum) {
System.out.println("该数为:"+i);
}
}
//有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
//程序分析:可填在百位、十位、个位的数字都是1、2、3、4。这里要用3个for循环
//用if判断条件是否符合,符合条件的数字打印出来,并计算个数总和
public static void main(String[] args) {
int sum = 0;
for(int gewei=1;gewei<5;gewei++) {
for(int shiwei=1;shiwei<5;shiwei++) {
for(int baiwei=1;baiwei<5;baiwei++) {
if(gewei != shiwei && gewei != baiwei && shiwei != baiwei) {
System.out.print(gewei*100+shiwei*10+baiwei+" ");
sum++;
if(sum % 10 == 0) {
System.out.println();
}
}
}
}
}
}
题目:企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?
public static void main(String[] args) {
double i=8;
double money=0;
if (i<=10) {
money=i*0.1;
}else if (i<=20) {
money=10*0.1+(i-10)*0.075;
}else if(i<=40) {
money=10*0.1+10*0.075+(i-20)*0.05;
}else if(i<=60) {
money=10*0.1+10*0.075+20*0.05+(i-40)*0.03;
}
System.out.print(money);
}
# while True:
if profile>0 and profile<=100000:
bonus = profile*0.01
print(bonus)
elif profile>100000 and profile<=200000:
bonus = 100000*0.1 + (profile-100000)*0.075
print(bonus)
elif profile>200000 and profile<=400000:
bonus = 100000*0.1 + 100000*0.075 + (profile-200000)*0.05
print(bonus)
elif profile>400000 and profile<=600000:
bonus = 100000*0.1 + 100000*0.075 + 200000*0.05 + (profile-400000)*0.03
print(bonus)
elif profile>600000 and profile<=1000000:
bonus = 100000*0.1 + 100000*0.075 + 200000*0.05 + 200000*0.03 + (profile-600000)*0.015
print(bonus)
elif profile>1000000:
bonus = 100000*0.1 + 100000*0.075 + 200000*0.05 + 200000*0.03 + 400000*0.015 + (profile-600000)*0.01
print(bonus)
# elif profile == 0:
# break
def main():
profile = 1
while profile != 0:
profile = int(input('请输入利润/元'))
test(profile)
main()
//一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
public static void main(String[] args) {
for(int i=1;i<1000;i++) {
int num1=(int) Math.sqrt(i+100);
int num2=(int) Math.sqrt(i+168);
if(num1 * num1 == i+100 && num2 * num2 == i+168) {
System.out.println(i);
}
}
}
//输入某年某月某日,判断这一天是这一年的第几天?
public static void main(String[] args) {
int year=2008;
int month=1;
int day=6;
int[] arr= {31,28,31,30,30,30,31,31,30,31,30,31};
for(int i=0;i<month;i++) {
day+=arr[i];
}
System.out.println(day);
if(year % 4 == 0 && year % 100 !=0 || year % 400 == 0) {
day+=1;
}
System.out.println(year+"年"+month+"月"+day+"日,是这一年的第"+day+"天");
}
//输入三个整数x,y,z,请把这三个数由小到大输出。
public static void main(String[] args) {
int a=98;
int b=23;
int c=12;
int temp;
if(a > b) {
temp=a;
a=b;
b=temp;
}
if (a > c) {
temp=a;
a=c;
c=temp;
}
if(b > c) {
temp=b;
b=c;
c=temp;
}
System.out.println(a+"<"+b+"<"+c);
}
//使用于数字(比较大小)
public static void main(String[] args) {
int a=22;
int b=23;
a=a+b; //45
b=a-b; //22
a=a-b; //23
System.out.println("a="+a+"b="+b);
}
//猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,
//又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
//以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
//天 数 1 2 3 4 5 。。。10
//桃子数 1 4 10 22 46 ?
public static void main(String[] args) {
int sum=1;
for(int i=2;i<=5;i++) {
sum=sum*2+2;
}
System.out.println(sum);
}
//两个乒乓球队进行比赛,各出三人。
//甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。
//a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
public static void main(String[] args) {
String a=null,b=null,c=null;
String[] arr= {"x","y","z"};
for(int i=0;i<3;i++) {
for(int j=0;j<3;j++) {
for(int k=0;k<3;k++) {
if(i != j && i != k && j != k) {
a=arr[i];
b=arr[j];
c=arr[k];
if(!a.equals("x")&&!c.equals("x")&&!c.equals("z")) {
if(a.equals(arr[i])&&b.equals(arr[j])&&c.equals(arr[k])) {
System.out.println("a的对手是:"+arr[i]+",b的对手是:"+arr[j] +",c的对手是:"+arr[k]);
}
}
}
}
}
}
}
*
***
*****
*******
*****
***
*
public static void main(String[] args) {
//打印上面部分:
int n=4;
for (int i = 0; i < n; i++) { //控制行
for (int k =3-i; k > 0 ; k--) { //控制*前面空格的输出
System.out.print(" ");
}
//输出符号,但不要换行
for (int j = 0; j <=2*i;j++) { //控制列
System.out.print("*");
}
//输出完符号马上换行
System.out.println();
}
//打印下面部分
n=3;
for (int i = n; i > 0; i--) { //控制行
for (int k =3-i+1; k > 0 ; k--) { //控制*前面空格的输出,第一行要加空格
System.out.print(" ");
}
//输出符号,但不要换行
for (int j = 0; j <=2*i-2;j++) { //控制列
System.out.print("*");
}
//输出完符号马上换行
System.out.println();
}
}
/*
* *
***
*****
*******
*****
***
*
*/
public static void main(String[] args) {
for(int i=0;i<4;i++) {
//控制空格
for(int j=1;j < 4-i;j++) {
System.out.print(" ");
}
for(int k=0;k<=2*i;k++) {
System.out.print("*");
}
System.out.println();
}
for(int i=3;i>0;i--) {
for(int j=1;j<=4-i;j++) {
System.out.print(" ");
}
for(int k=1;k<2*i;k++) {
System.out.print("*");
}
System.out.println();
}
}
//2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。
public static void main(String[] args) {
double up=2;
double down=1;
double num=up/down;
double temp=0;
double sum=0;
for(int i=0;i<5;i++) {
sum+=num;
temp=up+down;
down=up;
up=temp;
num=up/down;
System.out.print("num="+num+" ");
}
System.out.println(sum);
}
//求1+2!+3!+…+20!的和
public static int jieCheng(int i) {
int sum = 1;
for(int j=1;j<=i;j++) {
sum*=j;
}
return sum;
}
public static void main(String[] args) {
int sum=0;
for(int i=1;i<=20;i++) {
sum=sum+jieCheng(i);
}
System.out.println(sum);
}
/*
* 利用递归方法求5!。
程序分析:递归公式:f(n)=n*f(n-1)
*/
public static int get(int i) {
if(i == 1) {
return 1;
}
return i*get(i-1);
}
public static void main(String[] args) {
System.out.println( get(4));
}
String s1 = “1,2,3,4,5,6,7,8.9,10,11,12,13,14,15”;//代表全部参与抽奖的人员编号
String s2 =”2,5,6”;//代表已经中奖的人员编号
int number = 3;
写一个函数,从s1中随机筛选出number个数字,且此数字不在s2中。返回一个字符串。
/**
* @author yzh
* @Description: java
* @date 2019/3/19 16:32
*/
public class yzh {
public static void main(String[] args) {
String s1 ="1,2,3,4,5,6,7,8,9,10,11,12,13,14,15";
String s2 ="2,5,6";
String[] a = s1.split(",");
String[] b = s2.split(",");
//获得随机索引
int number= (int)(Math.random()*10)+1;
List<String> list = new ArrayList();
for (int i = 0; i < a.length; i++) {
list.add(a[i]);
for (int j = 0; j < b.length; j++) {
if(a[i].equals(b[j])){
list.remove(a[i]);
}
}
}
System.out.println("一等奖是:"+s2);
System.out.println("二等奖在下面的人中抽:"+list.toString());
System.out.println("二等奖人数:"+number);
System.out.println("二等奖的人:");
while (number>=0){
Random r=new Random();
int sui=r.nextInt(number);
System.out.print(list.get(sui)+",");
list.remove(sui);
number--;
if(number<=0){
break;
}
}
}
}