Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Έχει κάποιος ιδέα γιατί μου επιστρέφει συνέχεια το finalEval ίδιο;Η άσκηση πρέπει να δέχεται προσφορές από εταιρίες και να μου επιστρέφει την καλύτερη προσφορά και από ποια εταιρία είναι

package thisIsCompany;

public class CompanyOffer {
	private String Cname;
	private double techEval;
	private double financOffer;
	private double finalEval;
	public CompanyOffer() {
		
		this.Cname = Cname;
		this.techEval = techEval;
		this.financOffer = financOffer;
		this.finalEval = finalEval;
	}
	public String getCname() {
		return Cname;
	}
	public double getTechEval() {
		return techEval;
	}
	public double getFinancOffer() {
		return financOffer;
	}
	public double getFinalEval() {
		return finalEval;
	}
	public void setCname(String cname) {
		Cname = cname;
	}
	public void setTechEval(double techEval) {
		this.techEval = techEval;
	}
	public void setFinancOffer(double financOffer) {
		this.financOffer = financOffer;
	}
	public void setFinalEval(double finalEval) {
		this.finalEval = finalEval;
	}
	//tMax and fMin are the max technicalevaluation and min financialoffer of all companies
	public void calcFinalEval(double tMax,double fMin){
		 finalEval=(80*(getTechEval()/tMax)+20*(fMin/getFinancOffer()));
	}
	
	
}




package thisIsCompany;
import java.util.*;
public class OfferSystem {

static Scanner co=new Scanner(System.in);
static CompanyOffer comp=new CompanyOffer();
static ArrayList <CompanyOffer> offers=new ArrayList<>();
	public static void main(String[] args) {
	int companies;	
	System.out.println("How many companies do you want to compare? ");
	companies=co.nextInt();
		for(int i=0;i<companies;i++){
			getOfferData();
			offers.add(comp);
		}
		
		printBestOffer(calculateBestOffer());
		
		

	}
	private static void getOfferData(){
			System.out.println("Give Company's name: ");
			comp.setCname(co.next());
			System.out.println("Give Company's Technical Evaluation: ");
			comp.setTechEval(co.nextDouble());
			System.out.println("Give Company's financial offer: ");
			comp.setFinancOffer(co.nextDouble());
			
		
	}
	private static double calculateBestOffer(){
		double tMax=offers.get(0).getTechEval();
		double fMin=offers.get(0).getFinancOffer();
		
		
			for(int i=0;i<offers.size();i++){
				if(offers.get(i).getTechEval()>tMax){
					tMax=offers.get(i).getTechEval();
					
				}}
			
				for(int i=0;i<offers.size();i++){
					if(offers.get(i).getFinancOffer()<fMin){
						fMin=offers.get(i).getFinancOffer();
					}
			}
				
				for(int i=0;i<offers.size();i++){
					offers.get(i).calcFinalEval(tMax, fMin);
					comp.setFinalEval(offers.get(i).getFinalEval());
					
					System.out.println("final eval "+i+" is: "+offers.get(i).getFinalEval());
				}
				
				double FEmax=offers.get(0).getFinalEval();
				for(int i=0;i<offers.size();i++){
					if(FEmax<offers.get(i).getFinalEval()){
						FEmax=offers.get(i).getFinalEval();
						
					}
				}
				return FEmax;
				
	}	
			
				
				
	
	private static void printBestOffer(double FEmax){
		System.out.println("Best Offer is: " +FEmax);
		
		
		
	}
}


 

 

 

Δημοσ.

Φτιάχνεις ένα instance CompanyOffer και αλλαζείς τις τιμές μόνο σε αυτό για αυτό έχεις πάντα το ίδιο αποτέλεσμα.

Πρέπει να φτιάχνεις νέο μέσα στην λούπα.

 

Άσχετα με το πρόβλημα σου πάντως θέλει λίγο δουλίτσα , έχεις setter και getters που δεν χρειάζονται και γενικά θέλει σουλούπωμα :D

public class OfferSystem {
	static Scanner co=new Scanner(System.in);
	static CompanyOffer comp= null ;
	static ArrayList <CompanyOffer> offers=new ArrayList<>();


	public static void main(String[] args) {
		
		int companies;	
		System.out.println("How many companies do you want to compare? ");
		companies=co.nextInt();
		for(int i=0;i<companies;i++){
			comp = new CompanyOffer();
			getOfferData();
			offers.add(comp);
		}

		printBestOffer(calculateBestOffer());
  • Like 1
Δημοσ.

Άσχετα με την άσκηση, πρέπει να πω ότι η φαντασία είναι άγνωστη λέξη στους Έλληνες ακαδημαικούς.

 

Ίδιες ασκήσεις συνέχεια, δε μπαίνουν στον κόπο ούτε να αλλάξουν το 80-20 της άσκησης...

  • Like 1
Δημοσ.

Άσχετα με την άσκηση, πρέπει να πω ότι η φαντασία είναι άγνωστη λέξη στους Έλληνες ακαδημαικούς.

 

Ίδιες ασκήσεις συνέχεια, δε μπαίνουν στον κόπο ούτε να αλλάξουν το 80-20 της άσκησης...

Σκοπός είναι να μάθεις κάτι. Όχι να είναι πρωτότυπο το concept αυτού που θα κάνεις για να το μάθεις. Αν λείπει κάτι από τους Έλληνες ακαδημαϊκούς είναι η διάθεση για εξέλιξη και η εμπειρία. Αυτό τουλάχιστον έχει άμεση επίδραση σε εμάς.
Δημοσ.

Σκοπός είναι να μάθεις κάτι. Όχι να είναι πρωτότυπο το concept αυτού που θα κάνεις για να το μάθεις. Αν λείπει κάτι από τους Έλληνες ακαδημαϊκούς είναι η διάθεση για εξέλιξη και η εμπειρία. Αυτό τουλάχιστον έχει άμεση επίδραση σε εμάς.

 

Κάποιος είχε πει, δε θυμάμαι ποιός, ότι "καλή η εμπιστοσύνη, αλλά ο έλεγχος καλύτερος". Αν εσύ, ως καθηγητής, δε σκέφτεσαι ότι ο νέος τεμπέλης φοιτητής, θα ρίξει μία ματιά στο google  ή θα ρωτήσει το δευτερο-τριτοετή και θα του δώσει αυτούσια την άσκηση, τότε απλά δε νοιάζεσαι αν ο φοιτητής που θα περάσει το εξάμηνο, ξέρει και πέντε πράγματα.

Ο άσχετος φοιτητής, ακόμα και το 80-20 αν το έκανες 70-30 και του έδινες έτοιμα τα υπόλοιπα, πάλι δε θα την έλυνε...Σίγουρο αυτό.

Εκεί πήγαινε η παρατήρησή μου και όχι ως προς την ίδια την άσκηση, που είναι μια χαρά.

Δημοσ.

Ως φοιτητής, ξέρω πως, αν όντως βαριέμαι να λύσω μία άσκηση και την πάρω από αλλού, κακό δικό μου κάνω. Δεν ξέρω γιατί οι φοιτητές βλέπουν win win situation στο να πάρουν την άσκηση από αλλού, αυτοί θα μείνουν τούβλα στο θέμα εκεινο.

Δημοσ.

Παιδιά καλησπέρα και ευχαριστώ για τις απαντήσεις  δεν θέλω να πάρω έτοιμη την άσκηση προς Θεού δεν με βοηθάει σε κάτι αυτό απλά με την java ασχολούμαι περίπου 1 μήνα και έχω ελάχιστες γνώσεις ,προσπαθώ να μάθω με τον καιρό και το μάθημα δεν βοηθάει ιδιαίτερα .Να κάνω και άλλη μια ερώτηση αφού το tMax και το fMin μου τα βγάζει σωστά δεν καταλαβαίνω το λάθος με το instance..

Δημοσ.

Δεν τα βγάζει σωστά τυπώνει μόνο του τελευταίου.

Τώρα για αυτό που δεν καταλαβαίνεις είναι απο τα πρώτα πράγματα που θα έπρεπε να είχες καταλάβει :)

 

Ενώ πρέπει ουσιαστικά να δημιουργήσεις 3 νέα αντικείμενα τύπου CompanyOffer που το καθένα θα κουβαλάει τις δικές του τιμές που του κάνεις assign, εσύ το έκανες create (new CompanyOffer) έξω απο την λούπα και ουσιαστικά μέσα στην for απλά του καπάκωνες τις τιμές.

 

Δεν το έχω και πολύ στο να εξηγώ μάλλον πρέπει να ρωτήσεις τον καθηγητή σου :)

  • Like 1
Δημοσ.

Παιδιά καλησπέρα και ευχαριστώ για τις απαντήσεις  δεν θέλω να πάρω έτοιμη την άσκηση προς Θεού δεν με βοηθάει σε κάτι αυτό απλά με την java ασχολούμαι περίπου 1 μήνα και έχω ελάχιστες γνώσεις ,προσπαθώ να μάθω με τον καιρό και το μάθημα δεν βοηθάει ιδιαίτερα .Να κάνω και άλλη μια ερώτηση αφού το tMax και το fMin μου τα βγάζει σωστά δεν καταλαβαίνω το λάθος με το instance..

 

Σε καμία περίπτωση δεν είπε κανείς κάτι τέτοιο και μπράβο σου που την έκανες μόνος σου και δεν έψαξες να τη βρεις έτοιμη.

 

Σε αυτό που λέει ο tsofras και δεν καταλαβαίνεις εσύ : Η Java είναι γλώσσα που αναπαριστά αντικείμενα με ιδιότητες. Εσύ, δε δημιουργείς 3 αντικείμενα τύπου ΠροσφοράΕταιρίας, αλλά μόνο ένα το οποίο και τυπώνεται στο τέλος.

Το ότι είναι το καλύτερο, είναι απλά θέμα σύμπτωσης.

Η δημιουργία των 3 αντικειμένων, θα έπρεπε να γίνει μέσα στη for και όχι απ' έξω.

Δημοσ.

Η απάντηση του tzofras επαρκεί. Τώρα ο Shirohige πρέπει να το φτιάξει σωστά! Δεν υπάρχει άλλος τρόπος, ή βγάζει τρία αντικείμενα, όπως χρειάζεται, ή αφήνει όπως το έχει, να είναι λάθος. Δεν υπάρχει άλλη λύση, ακόμα και λάθος να θες να κάνεις!

Δημοσ.

Δεν τα βγάζει σωστά τυπώνει μόνο του τελευταίου.

Τώρα για αυτό που δεν καταλαβαίνεις είναι απο τα πρώτα πράγματα που θα έπρεπε να είχες καταλάβει :)

 

Ενώ πρέπει ουσιαστικά να δημιουργήσεις 3 νέα αντικείμενα τύπου CompanyOffer που το καθένα θα κουβαλάει τις δικές του τιμές που του κάνεις assign, εσύ το έκανες create (new CompanyOffer) έξω απο την λούπα και ουσιαστικά μέσα στην for απλά του καπάκωνες τις τιμές.

 

Δεν το έχω και πολύ στο να εξηγώ μάλλον πρέπει να ρωτήσεις τον καθηγητή σου :)

Ευχαριστώ πολύ για την βοήθεια  κατάλαβα πλήρως το λάθος και τώρα δουλέυει άψογα όσες εταιρίες και να δώσω :)

  • Like 1
Δημοσ.

Ως φοιτητής, ξέρω πως, αν όντως βαριέμαι να λύσω μία άσκηση και την πάρω από αλλού, κακό δικό μου κάνω. Δεν ξέρω γιατί οι φοιτητές βλέπουν win win situation στο να πάρουν την άσκηση από αλλού, αυτοί θα μείνουν τούβλα στο θέμα εκεινο.

ακριβώς αυτό ήθελα να γράψω και εγώ...

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...