狂猛欧美激情性xxxx大豆行情,日产精品久久久一区二区,日本欧美v大码在线,av蓝导航精品导航

請教一個JAVA編程題,求高手解答!~ 謝謝!~

首頁 > 知識產(chǎn)權(quán)2021-06-24 13:17:42

JAVA入門編程題目求高手解答,指出我的錯誤并怎么改,謝謝!

題目:折扣計算(普通顧客購物滿100元打9折;會員購物打8折;會員購物滿200元打7.5折)利用嵌套if結(jié)構(gòu)。

運行后能有上圖效果。

我的代碼:

import java.util.Scanner;

  

    public class zuoye1

{

         public static void main(String[] args)

  {

             Scanner input=new Scanner(System.in);


             System.out.println("請輸入是否是會員:是(y)/否(n)");


             String a=input.next();


             System.out.println("請輸入購物金額");


             double money=input.nextDouble();


             if(a.equals(a))

            {

               if(money>=100)


                  System.out.println(“實際支付”+money*0.9);


               else


                  System.out.println(“實際支付”+money);


             }else{

                    if(money>=200)


                       System.out.println("實際支付"money*0.75);


                    else


                       System.out.println(“實際支付”+money*0.8);


              }

  }

}

為什么我一運行最后不管是不是會員最后實際支付都是System.out.println(“實際支付”+money*0.9);

請指出我的錯誤,并改正!

  if(a.equals(a))

這一句,條件永久為true,不管輸入什么都會進(jìn)入你這個if的判斷。按你里面正常的邏輯,應(yīng)該是

 if(a.equals("n"))

其實我是建議這樣

if(a.equalsIgnoreCase("n"))

無視大小寫輸入

為什么呢? 如果一直是一個 就看這個的條件啊 a.equals(a);這句恒真啊

基礎(chǔ)JAVA編程題目求大神詳細(xì)解答,謝謝!

題目:利用switch(輸入年和月,輸出對應(yīng)年月包含的天數(shù))rn注意閏年2月28天,平年29天,要有區(qū)別
import java.util.Scanner;
public class Days {

public static void main(String[] args) {
int years,month;
Scanner reader=new Scanner(System.in);
years=reader.nextInt();
month=reader.nextInt();
switch(month){
case 1:System.out.println("31");break;
case 2:if((years%400==0)||(years%100!=0&&years%4==0))
System.out.println("29");
else System.out.println("28");
break;

case 3:System.out.println("31");break;
case 4:System.out.println("30");break;
case 5:System.out.println("31");break;
case 6:System.out.println("30");break;
case 7:System.out.println("31");break;
case 8:System.out.println("31");break;
case 9:System.out.println("30");break;
case 10:System.out.println("31");break;
case 11:System.out.println("30");break;
case 12:System.out.println("31");break;

}
}

}

java編程,這題怎么補充,求解答,謝謝!

 

見下圖,在要"填空"的地方已經(jīng)填寫完整。
滿意請采納,有問題請追問。

JAVA編程題目,求大神高手幫忙解答下,謝謝!

題目:查詢商品價格

運行后能實現(xiàn)圖上效果,綠字為用戶輸入,黑子為固定

package org.xxl.demo;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class ProtectPrice {
 /**
  * @param args
  */
 public static void main(String[] args) {
  System.out.println("*****************************************************");
  System.out.println("請選擇要購買的商品編號:");
  List<Product> list = getProductDate() ;
  if(list!=null && list.size()>0){
   for (Product product : list) {
    System.out.print(product.getNumber() + "、" + product.getName() + "    ");
   }
  }
  System.out.println();
  System.out.println("*****************************************************");
  String flag = "" ;
  int productNumber = 0 , count = 0;
  Product product = null ;
  float tranAmt = 0 ;
  while(!flag.equals("n")){
   productNumber = getProductNumber() ;
   switch (productNumber) {
   case 1:
    count = getProductCount() ;
    product = list.get(0) ;
    System.out.println(product.getName() + "    ¥" + product.getPrice() + "    數(shù)量:" + count + "    合計:" + (float) product.getPrice()*count) ;
    tranAmt += (float) (product.getPrice()*count*0.8) ;
    break ;
   case 2:
    count = getProductCount() ;
    product = list.get(1) ;
    System.out.println(product.getName() + "    ¥" + product.getPrice() + "    數(shù)量:" + count + "    合計:" + (float) product.getPrice()*count) ;
    tranAmt += (float) (product.getPrice()*count*0.8) ;
    break ;
   case 3:
    count = getProductCount() ;
    product = list.get(2) ;
    System.out.println(product.getName() + "    ¥" + product.getPrice() + "    數(shù)量:" + count + "    合計:" + (float) product.getPrice()*count) ;
    tranAmt += (float) (product.getPrice()*count*0.8) ;
    break ;
   default:
    System.out.println("請輸入正確的商品編號??!");
    break;
   }
   flag = getFlag() ;
   if(flag.equals("n")){
    System.out.println("折扣:0.8");
    System.out.println("應(yīng)付金額:"+tranAmt);
    System.out.print("實付金額:");
    String amt = new Scanner(System.in).next() ;
    float amts = Float.valueOf(amt) - tranAmt ;
    while(amts<0){
     System.out.println("應(yīng)付金額:"+tranAmt);
     amt = new Scanner(System.in).next() ;
     amts = Float.valueOf(amt) - tranAmt ;
    }
    System.out.println("找錢:" + amts);
    System.out.println("");
   }
  }
 }
 
 public static int getProductNumber(){
  int number = 0 ;
  try{
   System.out.print("請輸入商品編號:");
   Scanner scanner1 = new Scanner(System.in) ;
   if(scanner1!=null){
    number = Integer.parseInt(scanner1.next()) ;
   }
  }catch(Exception e){
   System.out.println("請輸入0-9的自然數(shù)字!");
  }
  return number ;
 }
 public static int getProductCount(){
  int count = 0 ;
  try{
   System.out.println("請輸入商品數(shù)量:");
   Scanner scanner = new Scanner(System.in) ;
   if(scanner!=null){
    count = Integer.parseInt(scanner.next()) ;
   }
  }catch(Exception e){
   System.out.println("請輸入0-9的自然數(shù)字!");
  }
  return count ;
 }
 
 public static String getFlag(){
  String flag = "" ;
  System.out.println("是否繼續(xù)(y/n):");
  Scanner scanner = new Scanner(System.in) ;
  if(scanner!=null){
   flag = scanner.next() ;
   if(!flag.equals("y") && !flag.equals("n")){
    getFlag() ;
   }
  }
  return flag ;
 }
 
 public static List<Product> getProductDate(){
  List<Product> list = new ArrayList<Product>() ;
  Product p1 = new Product(1,"T  恤",245.0f) ;
  Product p2 = new Product(2,"網(wǎng)球鞋",570.0f) ;
  Product p3 = new Product(3,"網(wǎng)球拍",897.0f) ;
  list.add(p1) ;
  list.add(p2) ;
  list.add(p3) ;
  return list ;
 }
 
}
class Product{
 int number ;
 String name ;
 float price ;
 
 public Product() {
  
 }
 
 public Product(int num,String name,float price){
  this.number = num ;
  this.name = name ;
  this.price = price ;
 }
 public int getNumber() {
  return number;
 }
 public void setNumber(int number) {
  this.number = number;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public float getPrice() {
  return price;
 }
 public void setPrice(float price) {
  this.price = price;
 }
}
給你看個簡單點的把~!
public class C103 {

public static void main(String[] args) {
System.out.println("MyShopping管理系統(tǒng)>購物結(jié)算"+"\n");
System.out.println("***************************************************");
System.out.println("請選擇購買的商品編號:");
System.out.println("1.T恤 2.網(wǎng)球鞋 3.網(wǎng)球拍");
System.out.println("***************************************************");

int price=0;
int b=0;
int c=0;
int d=0;
int total1=0;
int total2=0;
int total3=0;
double discount=0.8;
String name;
Scanner input=new Scanner(System.in);

System.out.print("輸入請按(y):");
String a=input.next();

while(!a.equals("n"))
{

System.out.print("請輸入商品編號:");
int q1=input.nextInt();
System.out.print("商品數(shù)量:");
int q=input.nextInt();
switch(q1)
{
case 1:
name="T恤";
b=245;
total1=b*q;
break;
case 2:
name="網(wǎng)球鞋";
c=570;
total2=c*q;
break;
case 3:
name="網(wǎng)球拍";
d=320;
total3=d*q;
break;
}
System.out.print("輸入請按(y)退出請按(n):");
a=input.next();
}
System.out.println("折扣:"+discount);
System.out.println("應(yīng)付金額:"+(total1+total2+total3)*discount);
double q3=(total1+total2+total3)*discount;
System.out.print("輸入請實際付款金額:");
double q2=input.nextInt();
System.out.println("實付金額:"+q2);
System.out.println("找零:"+(q2-q3));

System.out.println("已經(jīng)退出");
}

}
import java.util.Scanner;

public class Buy {

/**
* @param args
*/
public static void main(String[] args) {
String str = "";
String no = "";
String num = "";
double count = 0.0 ;
double one = 0.0 ;
Scanner sc = new Scanner(System.in);
System.out.println("************************************************");
System.out.println("請選擇購買的商品編號:");
System.out.println("1.T恤 2.網(wǎng)球鞋 3.網(wǎng)球拍");
System.out.println("************************************************");
while(!str.equals("n")){
System.out.println();
System.out.println();
System.out.print("請輸入商品編號:");
no = sc.next();
System.out.print("請輸入購買數(shù)量:");
num = sc.next();
switch (no.charAt(0)) {
case '1':
one = Integer.parseInt(num) * 245.0;
count += one ;
System.out.println("T恤 ¥245.0 數(shù)量 "+num+" 合計 ¥"+one);
break;
case '2':
one = Integer.parseInt(num) * 570.0;
count += one ;
System.out.println("網(wǎng)球鞋 ¥570.0 數(shù)量 "+num+" 合計 ¥"+one);
break;
case '3':
one = Integer.parseInt(num) * 770.0;
count += one ;
System.out.println("網(wǎng)球拍 ¥770.0 數(shù)量 "+num+" 合計 ¥"+one);
break;

default:
break;
}
System.out.print("是否繼續(xù)(y/n)");
str = sc.next();
}
System.out.println();
System.out.println();
System.out.println("折扣:0.8");
System.out.println("應(yīng)付金額:"+count);
System.out.print("實付金額:");
String m = sc.next();
System.out.println("找錢:"+(Double.parseDouble(m)-count));

}

}
小白們好好學(xué)吧,這么簡單的循環(huán)都不會。。。。問問自己問什么學(xué)這個呢?要學(xué)就學(xué)會它,要么就不學(xué),選自己喜歡的方向不可以嗎?

請教一個簡單的Java編程問題,謝謝??!

輸入一個整數(shù),判斷這個數(shù)是不是質(zhì)數(shù)
給你這段代碼,應(yīng)該可以實現(xiàn)你要的想法,import java.util.*;public class T2 { public static void main(String[] args) throws Exception { int a; Scanner sc=new Scanner(System.in); System.out.println("請輸入一個整數(shù):"); a=sc.nextInt(); int i; for(i=2;i<a;i++) if(a%i==0)break; if(i==a) System.out.println(a+"是質(zhì)數(shù)"); else System.out.println(a+"不是質(zhì)數(shù)"); }}
這個問題可真心長,
首先樓主應(yīng)該對素數(shù)的定義已經(jīng)清楚了吧?其實就是一個數(shù),如果存在1和它本身以外,有數(shù)能整除它,這個數(shù)就不是素數(shù).
在這里,有2個關(guān)鍵的變量,我估計解釋一下你就能看得明白這個算法了.
1.關(guān)于變量k.變量k的作用是優(yōu)化整個算法,因為比如要判斷一個數(shù)13是不是素數(shù),我們沒必要從2循環(huán)到13.只要循環(huán)到對13開根號.13開根號大概是3.6多,強轉(zhuǎn)為int類型后是3.也就是說只要檢查2,3是否能整除13.如果不能,13肯定是一個素數(shù).因為比如48這個數(shù),你前面檢測到被4整除等于12,那么繼續(xù)循環(huán)超過Math.sqrt(48)的話,無非就是得到一個反過來的被12除等于4的結(jié)果.這個沒有必要.

2.關(guān)于變量j.注意點1:j是在最外層的循環(huán)體中定義的.這個時候剛定義完,j的值是初始的0.然后j從2開始,一直到小于等于k結(jié)束.這里是控制嘗試整除的循環(huán)次數(shù).一旦發(fā)現(xiàn)在這個范圍內(nèi)有數(shù)能整除i,那么就跳出循環(huán).

所以,對于你不理解的那個部分,首先確定一點,程序只要執(zhí)行到break,就說明這個數(shù)是素數(shù).
例如我們這次k = 10,那么是要從j = 2到10逐一檢測 i 是不是能被 j 整除.當(dāng)j = 7的時候比如可以整除了,就跳出當(dāng)前內(nèi)層循環(huán)了.這時候, j 顯然是不大于 k 的,因為只要是中途跳出,因為內(nèi)層循環(huán)(j = 2; j <= k; j++)的控制,只要在循環(huán)過程中跳出來的,那么j 肯定 <= k.

只有循環(huán)到j(luò) = 10依然沒有break的話,根據(jù)for循環(huán)的執(zhí)行順序,會執(zhí)行j++,然后去判斷j <= k 是否為true,為true則繼續(xù)下一次循環(huán),否則循環(huán)結(jié)束.而在這里,如果到10還沒有能夠整除的話,j是會在10的基礎(chǔ)上自增的.這時候j就=11了.

那么if ( j > k )就不成立了,則i 不會被輸出.

總結(jié)一點:就是如果中途or最后一次循環(huán),找到能整除的數(shù)了,那么因為break的關(guān)系,最后就不會執(zhí)行 j++, 所以j <= k的條件是能保證的. 換言之,如果j > k (亦即j <= k 的取反)表示沒有找到能整除的數(shù).其實j最大也就只能等于k+1.

另外,,你也可以自己修改修改,來加深理解.例如
boolean isPrime; //定義布爾變量判斷是否素數(shù).是:true;否:false
for (int i = 3; i <= 100; i++) {
isPrime = true;
int k = (int) Math.sqrt(i);
for (int j = 2; j <= k; j++) {
if (i % j == 0) {
isPrime = false; //如果能夠有數(shù)整除i,那么就不是素數(shù).
break;
}
}
if (isPrime) {
System.out.println(i);
}
}

這樣就沒有必要在外層循環(huán)里就定義j這個變量了.如果我上面說的你理解還是比較困難,可以先理解用布爾變量來控制的寫法.這個理解了,用j > k 判斷的就也很容易理解了.

相關(guān)推薦:

行政拘留什么時間探視(拘留所探視時間表)

離婚被家暴方(被家暴起訴離婚能得到什么補償)

賭博行政拘留最久多久(賭博拘留的期限為多久)

特快專遞立案(可以郵寄立案嗎)

職務(wù)軟件著作權(quán)歸誰(軟件著作權(quán)屬于公司還是個人)

主站蜘蛛池模板: 伊吾县| 晋中市| 淮南市| 电白县| 诸城市| 高安市| 温州市| 泽州县| 陇南市| 建始县| 肥西县| 乳源| 长宁县| 抚顺县| 张家川| 水富县| 曲沃县| 聂拉木县| 通山县| 平定县| 天峨县| 常德市| 沭阳县| 永善县| 六安市| 龙陵县| 博湖县| 兴国县| 灵台县| 宝清县| 新龙县| 鄂伦春自治旗| 贵南县| 宝应县| 仁布县| 九台市| 兴业县| 天气| 甘南县| 文登市| 小金县|