Hjälp mig med programmering läxan- Java

Medlem
Hjälp mig med programmering läxan- Java

Hej

Jag har en programmering läxa som handlar om metoder jag fastnat på fråga nummer 7.

Så lider frågan

7.Skriv ett program som använder en metod för att beräkna antalet dagar mellan två datum. Båda datumen är angivna som månad och dag. Om det senare datumet är ”mindre” än det första, antas det senare avse nästföljande år. Man kan tänka sig två alternativ:
a. Det verkliga antalet dagar enligt almanackan räknas ut. Hänsyn till skottår behöver ej tas.
b. Antal dagar i bankmening räknas ut, dvs alla månader antas ha 30 dagar.

Hur ska jag börja kan någon snäll hjälpa mig?, Jag vill gärna ha förklaringar till de svaren ni ger mig

Här är resten av min kod-koden innehåller alla frågor från 1-6
import javax.swing.*;
import java.util.*;
import java.math.*;

public class uppgift1{
public static int metod1(int tim, int min, int sec){
return tim*3600+min*60+sec;
}

public static String metod2(String a){
return a.substring(a.indexOf("."));
}

public static String maxOrd(String ord1, String ord2){
if(ord1.length() > ord2.length()){
return ord1;
}
else{
return ord2;
}
}

public static int metod4(String mening){
return mening.replaceAll("\\s+","").length();
}

/*public static int antDagar(String manad){
manad = JOptionPane.showInputDialog("Månad");
}*/

public static double metod6(double C){
return C*1.8+32;
}

/*public static String metod7(){
}*/
//Fråga 7
public static void main(String[] args){
System.out.println(metod4("hejsan"));
System.out.println(maxOrd("hej", "hejsan"));
System.out.println(metod2("32.2754"));

}
}

Tack i förhand

Medlem

Jag ska precis gå och lägga mig så kan inte bidra med mycket, men ha som princip att aldrig namnge metoder med saker som "metod1" , "metod2" osv för det säger ingenting om vad metoden ska göra. Din första metod kan istället heta: return_Seconds eller något sånt(vet inte om "return_" är något reserverat i java eller inte).

Medlem
Skrivet av Athaleos:

Jag ska precis gå och lägga mig så kan inte bidra med mycket, men ha som princip att aldrig namnge metoder med saker som "metod1" , "metod2" osv för det säger ingenting om vad metoden ska göra. Din första metod kan istället heta: return_Seconds eller något sånt(vet inte om "return_" är något reserverat i java eller inte).

Håller med, oavsett om det är läxa eller inte bör man ha för vana att ha så informativa namn som möjligt.
Mitt tips är att inte använda "return" i funktionsnamn då det som Athaleos säger kan vara reserverat. Jag brukar använda "Get" istället, GetSeconds, Get_Seconds eller liknande. Sen "Set" om jag vill ändra värden, då får jag till exempel "SetValue" och "GetValue" vilket jag tycker är simpelt och tydligt.

Till själva frågan, jag hade gjort ungefär såhär:
Funktionsnamn (int from_month, int from_day, int to_month, int to_day)
int days_between = 0;

Börja med att räkna ut skillnaden mellan dagarna, kom ihåg att varje månad har 30 dagar.

Lägg sedan till skillnaden i månader, för varje månad som skiljer lägger du till 30.

return days_between;

Medlem

Get är helt rätt, mycket lämpligare än vad jag skrev. Länge sedan jag kodade nu!

1
Skriv svar