java if经典程序_java经典程序(11-20)
package question;
import java.util.Scanner;
public class Test11_20 {
/*
* 輸入一個數(shù)據(jù)n,計算斐波那契數(shù)列的第n個值 并打印所以值
* 1 1 2 3 5 8 13
* 規(guī)律一個數(shù)等于前兩個數(shù)之和
*/
public void test11(){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int f1 = 1,f2 = 1;
int sum = 0;
//輸出f1 f2
System.out.print("打印所以值:");
System.out.print(f1+" ");
System.out.print(f2+" ");
//從第三個開始,前面已經(jīng)打印兩個數(shù)了,所以n-2
for(int i=0; i
sum = f1+f2;
System.out.print(sum+" ");//打印所以數(shù)
f1 = f2;
f2 = sum;
}
System.out.println();
System.out.println("第n個值是:sum="+sum);//打印第n個數(shù)
/*
* 結(jié)果: 8
打印所以值:1 1 2 3 5 8 13 21
第n個值是:sum=21
*/
}
/***************************************************/
//使用遞歸求斐波那契數(shù)列第n個數(shù)
public int test12(int n){
if(n==1||n==2){
return 1;
}else{
return test12(n-1)+test12(n-2);
}
}
/***************************************************/
/*
* 求1-1/3+1/5-1/7+1/9.....的值
*/
public void test13(){
double sum=1;//作為第一個數(shù)1
double fz = -1.0;//作為第二個數(shù)的分子
double fm = 3.0;//第二個數(shù)的分母
for(int i=0; i<20; i++){
sum = sum+fz/fm;
fz *= -1;//下一次運算將分子變?yōu)橄喾磾?shù)
fm += 2; //分母每次加2
}
System.out.println(sum);
}
/***************************************************/
/*
*在屏幕上打印出n行的金字塔圖案
* *
* ***
* *****
*/
public void test14(){
for(int i=1; i<10; i++){
for(int j=0; j<10-i; j++){
System.out.print(" ");
}
for(int k=0; k<2*i-1; k++){
System.out.print("*");
}
System.out.println();
}
}
/***************************************************/
/*
* 歌巴德猜想,任何一個大于6的偶數(shù)都可以拆分成兩個質(zhì)數(shù)的和
* 打印所有的可能
*/
//是否是質(zhì)數(shù)
private boolean isPrime(int n){
if(n==1){
return false;
}
for(int i=2; i<=Math.sqrt(n); i++){
if(n%i==0){
//System.out.println(i);
return false;
}
}
return true;
}
//
public void test15(){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();//n大于6 且是偶數(shù),
if(n%2!=0){
System.out.println("不能為奇數(shù)");
return;
}
if(n<6){
System.out.println("不能小于6");
return;
}
for(int i=3; i
if(isPrime(i)&&isPrime(n-i)){//都不為質(zhì)數(shù)時
System.out.println(i+"+"+(n-i)+"="+n);//打印所有的可能
}
}
}
/***************************************************/
/*
* 定義一個int型的數(shù)組,包含十個元素分別賦一些隨機數(shù),然后求出所有元素的最大值
* 最小值,平均值,和值,并輸出出來
*/
public void test16(){
int[] arr = new int[10];
System.out.println("以下是十個隨機數(shù)!");
for(int i=0; i<10; i++){
//隨機生成十個數(shù) 介于0到100
arr[i] = (int)(Math.random()*100);
}
for(int i=0; i<10; i++){
System.out.print(arr[i]+" ");
}
System.out.println();//換行
System.out.println("和等于:"+sum(arr));
System.out.println("平均值等于:"+sum(arr)/10);
sort(arr);
System.out.println("最大值"+arr[arr.length-1]);
System.out.println("最小值:"+arr[0]);
/*以下是十個隨機數(shù)!
4 87 68 7 88 84 40 4 20 47
和等于:449
平均值等于:44
最大值88
最小值:4
*/
}
//求和
private int sum(int[] a){
int sum = 0;//求數(shù)組和
for(int i=0; i
sum+=a[i];
}
return sum;
}
//冒泡排序 升序
private void sort(int[] arr){
for(int i=0; i
for(int j=i; j
if(arr[j]
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
/*****************************************/
/*
* 定義一個一維數(shù)組 包含十個元素,分別賦值1到10,然后將數(shù)組中的元素向前
* 移動一個位置a[0]=a[1]...最后一個數(shù)等于a[0]
*/
public void test17(){
int[] arr = new int[10];
System.out.println("以下是十個隨機數(shù)!");
for(int i=0; i<10; i++){
//隨機生成十個數(shù) 介于0到10
arr[i] = (int)(Math.random()*10);
}
//打印隨機生成的元素
for(int i=0; i<10; i++){
System.out.print(arr[i]+" ");
}
System.out.println();//換行
System.out.println("移動后的元素:");
int temp = arr[0];//保存第一個數(shù)
for(int j=0; j
arr[j] = arr[j+1];//把后一個數(shù)賦值給前一個
}
arr[arr.length-1] = temp;//把第一個數(shù)賦值給最后一個
//打印移動后的元素
for(int i=0; i<10; i++){
System.out.print(arr[i]+" ");
}
}
/*
運行結(jié)果:
以下是十個隨機數(shù)!
8 3 1 2 7 3 6 4 1 3
移動后的元素:
3 1 2 7 3 6 4 1 3 8
*/
/*******************************************/
/*
* 將一個數(shù)組中的數(shù)據(jù)倒過來排,
* 例如:1 2 3 4 5 6 倒過來 6 5 4 3 2 1
*/
public void test18(){
int[] arr = new int[10];
int[] newArr = new int[10];
System.out.println("以下是十個隨機數(shù)!");
for(int i=0; i<10; i++){
//隨機生成十個數(shù) 介于0到10
arr[i] = (int)(Math.random()*10);
}
//打印隨機生成的元素
for(int i=0; i<10; i++){
System.out.print(arr[i]+" ");
}
//將生成數(shù)組的元素的最后一個賦值給第一個,倒數(shù)第二個給第二個,以此類推
for(int i=9; i>=0; i--){
newArr[9-i] = arr[i];
}
System.out.println();//換行
for(int i=0; i<10; i++){
System.out.print(newArr[i]+" ");
}
}
/* 打印結(jié)果:
* 以下是十個隨機數(shù)!
5 0 8 4 2 1 3 5 7 6
6 7 5 3 1 2 4 8 0 5
*/
/*************************************************/
/*
* 定義一個int數(shù)組a,包含100個元素,保存100個隨機的4位數(shù)
* 再定義一個int數(shù)組b,包含十個元素,統(tǒng)計a數(shù)組中的元素對10
* 求余等于0的個數(shù),保存到b[0]中,余數(shù)等于1保存到吧[1]中,以此類推
*/
public void test19(){
int[] a = new int[100];
int[] b = new int[10];
System.out.println("以下是100個隨機數(shù)!");
for(int i=0; i
//隨機生成十個數(shù) 介于0到10
a[i] = (int)(Math.random()*9000+1000);//1000~10000
}
int sum = 0;
for(int i=0; i
for(int j=0; j
if(a[j]%10==i){
sum++;
}
}
b[i] = sum;
sum=0;//取余完所有i之后將sum=0,重新計算
System.out.print("b["+i+"]"+"="+b[i]+" ");
}
}
// 運行結(jié)果 :b[0]=11 b[1]=6 b[2]=12 b[3]=14 b[4]=6 b[5]=10 b[6]=9 b[7]=10 b[8]=10 b[9]=12
/****************************************************************/
/**
* 打印一個○
*/
public void test20(){
for(int i=0; i<30; i++){
for(int j=0; j<30; j++){
//半徑為5 圓公式 x^2+y^2 = r^2
if(((i-10)*(i-10)+(j-10)*(j-10))==25){
System.out.print(" * ");
}else{
System.out.print(" ");
System.out.print(" ");
}
}
System.out.println();
}
}
/*運行結(jié)果
*
* *
* *
* *
* *
* *
*
*/
public static void main(String[] args) {
Test11_20 t = new Test11_20();
t.test20();
}
}
總結(jié)
以上是生活随笔為你收集整理的java if经典程序_java经典程序(11-20)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle中year类型吗,为什么表名
- 下一篇: oracle 实例用法,Oracle m