Inlägg

Inlägg som foobaaar har skrivit i forumet
Av foobaaar

Flyttal enligt standarden IEEE 754

Jag behöver hjälp att få en sak förklarad för mig. Läser för närvarande min andra programmerings-kurs och vi håller bland annat på att lära oss om binära flyttal o.s.v. Nu är det så att vår föreläsare och de flesta handledare är under all kritik vad gäller pedagogik, därför undrar jag om någon vänlig och upplyst själ skulle vilja försöka förklara hur t.ex. denna uppgift ska lösas?:

http://i63.tinypic.com/33dcfn8.png

2.2 Beräkna operation A+B. Svara med ett 16-bitars binär flyttal enligt bilden ovan och IEEE 754.
Flyttal A : 0 11010 1111100000 Flyttal B : 0 11000 1101100000
Formeln för att få ut det decimala värdet v ur ett flyttal:v=(-1) teckenbit x 2 exponent-15 x (1, mantissa)2
OBS: ofullständigt svar beaktas inte dvs tabeller och beräkningar som används för att nå svaret ska också finns i lösningen.

Av foobaaar

@Blargmode:

Här är Participant-klassen:

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

public class Participant {

private String team;
private String firstName;
private String lastName;
private int number;
private static int counter = 100;
private ArrayList<Result> resultList = new ArrayList<Result>();

public Participant(String team, String firstName, String lastName) {
this.team = team;
this.firstName = firstName;
this.lastName = lastName;
this.number = counter;
counter++;
}

public String getTeam() {
return team;

}

public String getFirstName() {
return firstName;

}

public String getLastName() {
return lastName;

}

public int getNumber() {
return number;
}

public String toString() {
return firstName + " " + getLastName() + " from " + getTeam() + " " + getNumber();
}

public void registerResult(Event event, double result) {
Result newResult = new Result(result, event, this);
resultList.add(newResult);

}

public int checkAttempts(String eventName) {
int count = 0;

for (Result result : resultList) {
if (result.getEvent().getEventName().equals(eventName)) {
count++;
}
}
return count;
}

public void printResults() {
ArrayList<String> topResult = new ArrayList<String>();
sortResult();

for (Result result : resultList) {
topResult.add("Results for " + firstName + " " + lastName + " in " + result);
}

for (String str : topResult)
System.out.println(str);
}

private void sortResult() {
Collections.sort(resultList, new Comparator<Result>() {
public int compare(Result r1, Result r2) {
return r1.getEvent().getEventName().compareToIgnoreCase(r2.getEvent().getEventName());
}
});
}

public Result getTopResult(String eventName) {
sortResult();
for (Result result : resultList) {
if (result.getEvent().getEventName().equals(eventName))
return result;
}
return null;
}

}

Av foobaaar

Java: ta bort deltagare och registrerade resultat

Jag har ett relativt simpelt men enträget problem.

Jag har i ett program en metod för att ta bort en redan registrerad deltagare. Jag vill även att deltagarens registrerade resultat i fråga ska försvinna när deltagaren tas bort, men hur?

För att kunna hjälpa kanske man skulle behöva kika lite i olika klasser men såhär har jag försökt:

private void removeParticipant() {
System.out.print("Number: ");
int number = readInt();

for (Participant participant : participantList) {
if (participant.getNumber() == number) {
System.out.println(participant + " removed");
participantList.remove(participant);

for (Particiapnt participant : participantList)
if (participant.getResult() == result) {
resultList.remove(result);