繁体   English   中英

Println 不打印我所有的值 - java

[英]Println not printing all my values - java

所以,我是一个尝试学习 Java 的 Absolut 菜鸟,所以请保持友善。 我正在尝试创建一个邮资计算器,使用带有 if/if else 的开关。 这是学校的作业,所以我必须使用开关。 问题是我无法在案例结束时使用 println 来打印所有值。 如果有人能看一下并指出我的错误,那将不胜感激。

package inlämningsuppgift_2_porto_alysia_nonor;

import java.util.Scanner;

public class Inlämningsuppgift_2_porto_Alysia_Nonor {

    
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        
        // Ledtext, presentation av menyval
        System.out.println("Beräkna ditt porto");
        System.out.println(" ");
        
        //user input, meny med val
        System.out.println("Önskar du skicka");
        System.out.println("1. Brev");
        System.out.println("2. Rekommenderat brev");
        System.out.println("3. Brev skicka lätt");       
        System.out.print("Ange ditt val: ");
        int brevVal = input.nextInt();
        
        //beräkning av porto
        switch (brevVal){
            case 1:
                brevVal = 1;
                System.out.print("Ange vikten i gram: ");
                double brevEttgram = input.nextDouble();
                
                    double porto;
                    int frimärken;
                    
                    if (brevEttgram <= 50){
                        porto = 11;
                        frimärken = 1;
                    
                    }
                    else if (brevEttgram <= 100){
                        porto = 22;
                        frimärken = 2;
                    
                    }
                    else if (brevEttgram <= 250){
                        porto = 44;
                        frimärken = 4; 
                    }
                    else if (brevEttgram <= 500){
                        porto = 66;
                        frimärken = 6; 
                    }
                    
                    else if (brevEttgram <= 1000){
                        porto = 88;
                        frimärken = 8; 
                    }
                    
                    else
                        porto = 110;
                        frimärken = 10; 
                        
            System.out.print("Ditt brev behöver " +frimärken+ " frimärken och det kommer kosta " +porto+ " kr");            
            break; 
            
            case 2:
                brevVal = 2;
                System.out.print("Ange vikten i gram: ");
                double rekBrevgram = input.nextDouble();
                
                    double prisFörfrimärkt;
                    double prisSkickadirekt;
                    
                    if (rekBrevgram <= 50){
                        prisFörfrimärkt = 92; 
                        prisSkickadirekt = 72;
                    
                    }
                    else if (rekBrevgram <= 100){
                        prisFörfrimärkt = 103;
                        prisSkickadirekt = 83;
                    
                    }
                    else if (rekBrevgram <= 250){
                        prisFörfrimärkt = 125;
                        prisSkickadirekt = 105; 
                    }
                    else if (rekBrevgram <= 500){
                        prisFörfrimärkt = 147;
                        prisSkickadirekt = 127; 
                    }
                    
                    else if (rekBrevgram <= 1000){
                        prisFörfrimärkt = 169;
                        prisSkickadirekt = 149; 
                    }
                    
                    else
                        prisFörfrimärkt = 191;
                        prisSkickadirekt = 171;
                        
            System.out.print("Du kan antingen skicka ditt brev med Pris för frimärkt, vilket kommer kosta " +prisFörfrimärkt+ " kr eller Skicka Direkt vilket kommer kosta " +prisSkickadirekt+ " kr");  
                
            break;    
                
            case 3:
                brevVal = 3;
                System.out.print("Ange vikten i gram: ");
                double skickaLättgram = input.nextDouble();
                
                System.out.print("Ange maxmåttet: ");
                double skickaLättmått = input.nextDouble();
                
                    double prisSkickalätt;
                    
                    if (skickaLättgram >= 2000 || skickaLättmått >= 90){     
                        System.out.print("Ditt paket är för stort eller tungt för att skickas som Brev Skicka lätt. Välj ett annat alternativ.");
                    }
                    else if (skickaLättgram <= 2000 && skickaLättmått <= 90){
                        prisSkickalätt = 95;
                    }
                    else {{
                    prisSkickalätt = 62;
                    }
                    System.out.print("Ditt paket går att skicka som ett Brev Skicka lätt. Portot kommer kosta " +prisSkickalätt+ " kr");
                    }
            break;    
                
            
        }    
    }
}

第一:变量的名称永远不应该(编辑:按照惯例 - 即使某些编程语言允许)包含变音符号

第二:在你的“case 3”中,你只在“else”语句中打印你的值,而不是在那些情况下:

    if (skickaLättgram >= 2000 || skickaLättmått >= 90) {} 
    else if (skickaLättgram <= 2000 && skickaLättmått <= 90) {}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM