javaaz
你說的情況是完全可以的但是要記住if 括弧裡面是一個真假值(boolean) 還有switch不建議使用,具體情況 我也不清楚。
例子如下
public class Macth
{
// k 表示客場進球,z主場
int bk = 1;
int az = 2;
// 三種情況 1 A隊總進球大於B總進球;A隊與B隊進球數量一至但是客場進球多所以晉級2 兩隊進球數與客場進球數完全一致,則進入點球大戰;3B隊晉級;
public void result(int bz, int ak)
{
if (bz + bk > az + ak || (bz + bk == az + ak && bk > ak))
{
System.out.println("B隊晉級");
}
if (bz + bk == az + ak && bk == ak)
{
System.out.println("進入點球大戰!");
}
else
{
System.out.println("A隊晉級");
}
}
}
測試類
public class Test
{
public static void main(String[] args)
{
Macth macth = new Macth();
macth.result(5, 6);
}
}
控制台:
A隊晉級
希望能幫助你。
『貳』 java 基礎程序問題 提示如下:java.lang.NullPointerException at az.PassWord.main(PassWord.java:12)
空指針,很容易出現的一種問題,你在調用cons時出現了空的情況,此時最好添加空值異常判斷,加個
String password = null;
if(null!= cons){
password = cons.readPassword();
}
這樣能屏蔽此處在調用cons時報此bug,不過這樣只是在此添加了保護,你可以在看下邏輯,這種情況該如何處理。
『叄』 java 大神來看下 輸入az3b4il 要求輸出 azbbbiiiil 以此類推 大神們求解!
替換就可以了,你輸入az3b4il後,
for循環截取字元串,如果有3就換成bb,
如果有4就換成iii。
『肆』 java程序,依次顯示abcd……z,下一行去掉首尾的az,依此類推直至最後只...
public class Test {
/**
* @param args
*/
public void printStr(String str){
int number=str.length();
if(number<=2){
System.out.println(str);
return;
}else{
System.out.println(str);
str=str.substring(1,number-1);
printStr(str);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="abcdefghijklmnopqrstuvwxyz";
Test test=new Test();
test.printStr(str);
}
}
這是一個類,功能以實現,記得給分哦
『伍』 java,鍵盤輸入車牌號,驗證是否滿足必須以CA,AZ或CO開頭 其後為xxxx其中x表示一位0-9的數字
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
booleanflag=false;
System.out.println("請輸入車牌號!");
do{
StringcarNumber=sc.next();
flag=carNumber.matches("(?i)^(CA|AZ|CO)[0-9]{4}$");
if(!flag){
System.out.println("車牌號不正確,請重新輸入!");
}else{
System.out.println("車牌號正確!車牌號為:"+carNumber.toUpperCase());
}
}while(!flag);
}
『陸』 用Java寫一個程序:使其輸出從A-Z的排序字母
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int count;
Scanner scan = new Scanner(System.in);
count = scan.nextInt();
// max[0]: 記錄只有1位(A ... Z)時,count的最大值。
// max[1]:記錄只有2位(AA ... ZZ)時,count的最大值。
// max[2]: 記錄只有3位(AAA, AAB, ..., ZZZ)時,count的最大值。
int max[] = new int[7];
max[0] = 26;
for (int i = 1; i < max.length; i++) {
max[i] = max[i - 1] * 26 + 26;
System.out.println(max[i]);
}
//Count最大隻能為最大的int
max[6] = Integer.MAX_VALUE;
int len = 0; //記錄針對當前輸入的count, 所需名字串的位數
for (int i = 0; i < max.length; i++) {
if (max[i] >= count) {
len = i + 1;
break;
}
}
char str[] = new char[8];
for (int i = 0; i < len; i++)
str[i] = 'A';
str[len] = '\0';
StringBuilder sb = new StringBuilder(10);
if (count >= 1) {
//列印第一個名字
for (int j = 0; j < len; j++)
System.out.print(str[j]);
System.out.println();
for (int i = 2; i <= count; i++) {
int j = len - 1;
while (j >= 0) {
if (str[j] != 'Z') { //當前位不是Z直接加1,跳出循環
str[j] += 1;
break;
} else { //當前位是Z,將其設置為A,並向高位進1
str[j] = 'A';
j--;
}
}
//將需要輸出的名字成字元串
sb.setLength(0);
for (j = 0; j < len; j++) {
sb.append(str[j]);
}
System.out.println(sb.toString());
}
}
}
}
『柒』 java像excel表格列一樣添加一列後列名輸出A~Z或AA~AZ等求輸入1則輸出為A,輸入27則輸出AA
可以用如下代碼實現改功能,輸入一個數字27返回AB
String[] array = new String[] { "A", "B", "C", "D", "E", "F", "G", "H","I", "J", "K", "L", "M", "N", "O", "P", "Q",
"R", "S", "T", "U", "V", "W", "X", "Y", "Z" };
int num = 428;
int count = 26;
System.out.println("num/count=" + num/count);
String out = "";
if (num/count != 0) {
out = array[num/count-1];
if (num%count == 0) {
out = out + array[num%count];
System.out.println(out);
} else {
out = out + array[num%count-1];
System.out.println(out);
}
} else {
out = array[num-1];
System.out.println(out);
}
『捌』 java構建一個數組,值從ab,ac,...az,ba,bb,...,bz,...到zz,輸出該字元串
String[][]a=newString[26][26];
for(charx='a';x<='z';x++){
for(chary='a';y<='z';y++){
a[x-'a'][y-'a']=""+x+y;
}
}
for(inti=0;i<a.length;i++){
for(intj=0;j<a[0].length;j++){
System.out.print(a[i][j]+",");
}
}
System.out.println();
『玖』 java構建一個數組,值從ab,ac,...az,ba,bb,...,bz,...到zz,輸出指定數目比如輸出87個
packageTestHanLp;
importjava.util.Scanner;
publicclassTest{
publicstaticvoidmain(String[]args){
String[]str={"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};
Scannerin=newScanner(System.in);
System.out.println("請輸入一個數:");
inta=in.nextInt();
intfirst=a/26;
intlast=a%26;
System.out.println("前"+a+"個值為:");
for(inti=0;i<=first;i++){
for(intj=0;j<26;j++){
if(i+1<=first){
System.out.print(str[i]+str[j]+"");
}else{
if(j+1<=last){
System.out.print(str[i]+str[j]+"");
}
}
}
}
}
}
這個可以不用數組的,不過既然你要求了,就加了一個
『拾』 java三元運算符
我錯了,剛才試了一下,下面是我的結論:
在程序執行的時候會自動匹配數據類型調用對應的方法,但這兩次調用的不是同一個方法。依據如下:
使用int i = 90;s.append(6>5?i:'B');的話調用的就是append(int),而使用s.append(6>5?90:'B');的話調用的就是append(char)。
區別在於編譯的時候,使用變數i作為傳遞的參數時,三元運算符會保留期變數名作為參數,而在取i的值時會根據i的類型匹配方法;
而使用90最為傳遞參數時,編譯器在選擇數據類型時會參考「:」兩側的數據類型,如果匹配或足以存儲該數據則存儲為同一數據類型,如果不匹配則替換成其他數據類型。
'B'在編譯時被存儲為char型,而90因為沒有指定數據類型且可以被char這個數據類型所表示,所以被保存為char型。即使使用強制類型轉換也會被忽略,因為常量的數據類型轉換會在編譯器編譯之前一步進行,就像gcc處理宏一樣,所以不會起到強制類型轉換的作用。