相思一夜梅花發(fā)蚀瘸,忽到窗前疑是君。
概述
Java
是在IT
行業(yè)廣泛使用的最流行的編程語(yǔ)言之一庶橱。它簡(jiǎn)單贮勃,健壯,可幫助我們重用代碼苏章。在本文中寂嘉,讓我們看一些了解Java
基礎(chǔ)的應(yīng)用程序。
入門(mén)的Java程序
計(jì)算機(jī)程序
編寫(xiě)一個(gè)Java
程序來(lái)執(zhí)行基本的計(jì)算器操作枫绅。
當(dāng)你考慮使用計(jì)算器時(shí)泉孩,就會(huì)想到加,減并淋,乘寓搬,除等運(yùn)算。讓我們借助以下程序來(lái)實(shí)現(xiàn)基本的計(jì)算器操作县耽。
package com.niocoder;
import java.util.Scanner;
/**
* Created by zhenglongfei on 2020/4/21
*
* @VERSION 1.0
*/
public class _01Calculator {
public static void main(String[] args) {
Scanner param = new Scanner(System.in);
System.out.print("請(qǐng)輸入第一個(gè)數(shù)字:");
double first = param.nextDouble();
System.out.print("請(qǐng)輸入第二個(gè)數(shù)字:");
double second = param.nextDouble();
System.out.print("請(qǐng)輸入運(yùn)算符 (+, -, *, /): ");
char operator = param.next().charAt(0);
double result;
//switch case for each of the operations
switch (operator) {
case '+':
result = first + second;
break;
case '-':
result = first - second;
break;
case '*':
result = first * second;
break;
case '/':
result = first / second;
break;
default:
// operator doesn't match any case constant (+, -, *, /)default:
System.out.println("Error! operator is not correct");
return;
}
System.out.printf("%.1f %c %.1f = %.1f", first, operator, second, result);
}
}
執(zhí)行上述程序時(shí)句喷,輸出如下所示:
請(qǐng)輸入第一個(gè)數(shù)字:10
請(qǐng)輸入第二個(gè)數(shù)字:10
請(qǐng)輸入運(yùn)算符 (+, -, *, /): +
10.0 + 10.0 = 20.0
使用遞歸的階乘程序
編寫(xiě)一個(gè)Java
程序來(lái)計(jì)算一個(gè)數(shù)字的階乘镣典。
數(shù)字的階乘是所有小于或等于該數(shù)字的正數(shù)的乘積。n
的階乘由n唾琼!
表示⌒执海現(xiàn)在,讓我們編寫(xiě)一個(gè)程序父叙,并使用遞歸查找數(shù)字的階乘神郊。
package com.niocoder;
import java.util.Scanner;
/**
* Created by zhenglongfei on 2020/4/21
*
* @VERSION 1.0
*/
public class _02Factorial {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("請(qǐng)輸入一個(gè)數(shù)字:");
//Stored the entered value in variable
int num = scanner.nextInt();
//Called the user defined function fact
int factorial = fact(num);
System.out.println("輸入數(shù)字的階乘是: " + factorial);
}
static int fact(int number) {
if (number == 1) {
return 1;
}
return number * fact(number - 1);
}
}
執(zhí)行上面的程序時(shí),您將獲得一個(gè)數(shù)字的階乘趾唱,如下所示:
請(qǐng)輸入一個(gè)數(shù)字:12
輸入數(shù)字的階乘是: 479001600
斐波納契數(shù)列的程序
編寫(xiě)一個(gè)Java
程序來(lái)計(jì)算斐波那契數(shù)列直到n
個(gè)數(shù)字。
它是一個(gè)級(jí)數(shù)蜻懦,其中下一項(xiàng)是前兩項(xiàng)之和甜癞。例如:0 1 1 2 3 5 8 13……讓我們編寫(xiě)一個(gè)Java
程序來(lái)計(jì)算斐波那契數(shù)列。
package com.niocoder;
import java.util.Scanner;
/**
* Created by zhenglongfei on 2020/4/21
*
* @VERSION 1.0
*/
public class _03Fibonacci {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("請(qǐng)輸入一個(gè)數(shù)字:");
//Stored the entered value in variable
int num = scanner.nextInt();
int first = 0, second = 1;
System.out.print(num + ":");
while (first < num) {
System.out.print(first + "+");
int sum = first + second;
first = second;
second = sum;
}
}
}
執(zhí)行上述代碼后宛乃,輸出如下所示:
請(qǐng)輸入一個(gè)數(shù)字:100
100:0+1+1+2+3+5+8+13+21+34+55+89+
字符串的回文程序
編寫(xiě)一個(gè)Java
程序來(lái)找出給定的字符串是否是回文悠咱。
回文是一個(gè)數(shù)字、字符串或序列征炼,即使你顛倒了順序析既,它們也是一樣的。例如谆奥,RACECAR
眼坏,如果向后拼寫(xiě)將與RACECAR
相同。
package com.niocoder;
import java.util.Scanner;
/**
* Created by zhenglongfei on 2020/4/21
*
* @VERSION 1.0
*/
public class _04Palindrome {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("請(qǐng)輸入一個(gè)字符串: ");
String str = sc.nextLine();
checkPalindrome(str);
}
private static void checkPalindrome(String str) {
boolean flag = true;
int length = str.length();
for (int i = 0; i <= length / 2; i++) {
if (str.charAt(i) != str.charAt(length - i - 1)) {
flag = false;
break;
}
}
System.out.println(str + " 是否回文 = " + flag);
}
}
運(yùn)行代碼時(shí)酸些,它將檢查給定的字符串是否是回文宰译,如下所示:
請(qǐng)輸入一個(gè)字符串: abab
abab 是否回文 = false
請(qǐng)輸入一個(gè)字符串: abba
abba 是否回文 = true
圖案程序
用Java
編寫(xiě)程序打印菱形圖案。
在這里魄懂,使用for
循環(huán)來(lái)打印菱形圖案沿侈。
package com.niocoder;
import java.util.Scanner;
/**
* Created by zhenglongfei on 2020/4/21
*
* @VERSION 1.0
*/
public class _05DiamondPattern {
public static void main(String[] args) {
int n, i, j, space = 1;
System.out.print("請(qǐng)輸入行數(shù): ");
Scanner s = new Scanner(System.in);
n = s.nextInt();
space = n - 1;
for (j = 1; j <= n; j++) {
for (i = 1; i <= space; i++) {
System.out.print(" ");
}
space--;
for (i = 1; i <= 2 * j - 1; i++) {
System.out.print("*");
}
System.out.println("");
}
space = 1;
for (j = 1; j <= n - 1; j++) {
for (i = 1; i <= space; i++) {
System.out.print(" ");
}
space++;
for (i = 1; i <= 2 * (n - j) - 1; i++) {
System.out.print("*");
}
System.out.println("");
}
}
}
輸出
請(qǐng)輸入行數(shù): 5
*
***
*****
*******
*********
*******
*****
***
*
字符串反轉(zhuǎn)程序
編寫(xiě)一個(gè)Java程序來(lái)反轉(zhuǎn)給定字符串中的字母。
這個(gè)Java
程序會(huì)反轉(zhuǎn)用戶輸入的字符串中存在的字母市栗。例如缀拭,“ Hello People
”將被稱為“ olleH elpoeP
”。讓我們使用Java
來(lái)實(shí)現(xiàn)相同的功能填帽。
package com.niocoder;
/**
* Created by zhenglongfei on 2020/4/21
*
* @VERSION 1.0
*/
public class _06Stringreverse {
public static void main(String[] args) {
String str = "Welcome To niocoder";
String[] strArray = str.split(" ");
for (String temp : strArray) {
System.out.println(temp);
}
for (int i = 0; i < 3; i++) {
char[] s1 = strArray[i].toCharArray();
for (int j = s1.length - 1; j >= 0; j--) {
System.out.print(s1[j]);
}
System.out.print(" ");
}
}
}
上面程序的輸出如下所示:
Welcome
To
niocoder
emocleW oT redocoin
鏡像程序
編寫(xiě)一個(gè)Java程序來(lái)檢查給定的數(shù)組是否為鏡像數(shù)組蛛淋。
package com.niocoder;
/**
* Created by zhenglongfei on 2020/4/21
*
* @VERSION 1.0
*/
public class _07MirrorInverse {
public static void main(String[] args) {
int arr[] = {3,4,2,0,1};
if (isMirrorInverse(arr))
System.out.println("Yes");
else
System.out.println("No");
}
static boolean isMirrorInverse(int arr[]) {
for (int i = 0; i < arr.length; i++) {
if (arr[arr[i]] != i)
return false;
}
return true;
}
}
輸出
Yes