第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何防止用戶兩次輸入相同的文本

如何防止用戶兩次輸入相同的文本

紅顏莎娜 2022-09-28 10:07:15
該程序基本上通過讓用戶輸入課程數(shù)量和課程代碼來計算gpa,并帶有相關(guān)的學(xué)分和分數(shù)。如果課程代碼輸入兩次,將顯示一條消息(課程已注冊),并且它將一直循環(huán),直到用戶使用不同的課程代碼輸入所有課程我創(chuàng)建了兩種方法。一個用于檢查代碼是否已注冊,另一個用于計算gpa,這是檢查用戶輸入的第一種方法,我不確定。因為如果我輸入課程代碼兩次,它只會顯示消息,并允許我計算其余部分public static boolean checkCourse(String[] courseList, String code){    boolean check = false;    for(int i=0 ; i < courseList.length; i++){        if(code.equals(courseList[i]))             check = true;        else            check = false;     }     return check;}public static double gradeValue(double marks){     double grade = 1.0;     if(marks >=95){ grade = 5.0;}     else if (marks >= 90) { grade = 4.75;}     else if (marks>=85) { grade = 4.5;}     else if (marks >= 80) { grade = 4.0;}     else if (marks >= 75) { grade = 3.5; }     else if (marks >= 70) { grade = 3.0;}     else if (marks >= 65) {grade = 2.5 ;}     else if (marks >= 60) { grade = 2;}     else if (marks < 60) { grade =1 ;}      return grade;}public static void main(String[] args) {    Scanner input = new Scanner(System.in);    System.out.print("Enter number of courses: ");    int n = input.nextInt();    String[] Courses = new String[n];    int sumOfcreadit=0;    int sumOfmarks =0;    for(int i =0; i<Courses.length;i++){        System.out.print("Enter a course code: ");        Courses[i] = input.next();        if(checkCourse(Courses,Courses[i])){            System.out.println("the course already registered");            i--;        }        System.out.print("Enter a credit: ");        int credit = input.nextInt();        System.out.print(" Enter a marks: ");        int marks = input.nextInt();        sumOfcreadit += credit;        sumOfmarks +=marks * credit;    }     double TotalMarks;    TotalMarks = sumOfmarks /sumOfcreadit;    System.out.println("The GPA is: "+gradeValue(TotalMarks));}
查看完整描述

2 回答

?
人到中年有點甜

TA貢獻1895條經(jīng)驗 獲得超7個贊

我對您的代碼進行了一些更改,現(xiàn)在它工作正常。下面的代碼中描述了更改。有3個重要的變化。我試圖盡可能少地進行更改,以使代碼按預(yù)期工作


public static boolean checkCourse(String[] courseList, String code) {

    boolean check = false;

    for (int i = 0; i < courseList.length; i++) {

        if (code.equals(courseList[i])) {  // equals instead of == to compare strings

            check = true;

            break; // you have to break loop if it is true because else statement before returned false even if there was the same course code due to null values in next array elements which was not filled yet

        }


    }

    return check;

}


public static double gradeValue(double marks) {

    double grade = 1.0;

    if (marks >= 95) {

        grade = 5.0;

    } else if (marks >= 90) {

        grade = 4.75;

    } else if (marks >= 85) {

        grade = 4.5;

    } else if (marks >= 80) {

        grade = 4.0;

    } else if (marks >= 75) {

        grade = 3.5;

    } else if (marks >= 70) {

        grade = 3.0;

    } else if (marks >= 65) {

        grade = 2.5;

    } else if (marks >= 60) {

        grade = 2;

    } else if (marks < 60) {

        grade = 1;

    }

    return grade;

}


public static void main(String[] args) {

    Scanner input = new Scanner(System.in);

    System.out.print("Enter number of courses: ");

    int n = input.nextInt();

    String[] Courses = new String[n];

    int sumOfcreadit = 0;

    int sumOfmarks = 0;


    for (int i = 0; i < Courses.length; i++) {

        System.out.print("Enter a course code: ");

        String code = input.next();

        if (checkCourse(Courses, code)){

            System.out.println("the course already regestered ");

            i--;

            continue; // continue is neccessary to let user write value again if it already exists

        }

        Courses[i] = code;

        System.out.print("Enter a credit: ");

        int credit = input.nextInt();

        System.out.print(" Enter a marks: ");

        int marks = input.nextInt();


        sumOfcreadit += credit;

        sumOfmarks += marks * credit;


    }

    double TotalMarks;

    TotalMarks = sumOfmarks / sumOfcreadit;


    System.out.println("The GPA is: " + gradeValue(TotalMarks));


}


查看完整回答
反對 回復(fù) 2022-09-28
?
慕尼黑的夜晚無繁華

TA貢獻1864條經(jīng)驗 獲得超6個贊

使用一套結(jié)構(gòu)來存儲所有訪問過的課程代碼,這將避免對課程數(shù)組進行不必要的迭代


此方法可以增強為


public static boolean checkCourse(HashSet<String> courses, String code){

     boolean check = false;

     if(courses.contains(code)){

         check = true;

     else

         check = false;

     }

     return check;

}

初始化哈希集課程,如果 checkCourses 方法返回 false,請在課程中添加課程代碼。


像這樣在循環(huán)之前初始化


 HashSet<String> courseSet = new HashSet<String>();

您的 if 條件內(nèi)循環(huán)


 if(checkCourse(courseSet,courses[i])){ // check for variable name , name should always start with lower case letter

    System.out.println("the course already regestered ");

    i--;

    // You can use continue if you don't want processing for it

    // it will skip the loop iteration and it will go next iteration

}else{

    courseSet.add(courses[i]);

}


查看完整回答
反對 回復(fù) 2022-09-28
  • 2 回答
  • 0 關(guān)注
  • 122 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號