Gå til innhold

Lage et mini randomizer program? (haster litt)


Anbefalte innlegg

Ok, jeg har en kompis som er på jakt etter et program eller en skript som kan gjøre dette :

 

Han har en liste av 110 navn (i excel) og en oversikt over 110 sitteplasser, han lurte på om det var mulig å lage et lite program som kunne tildele tilfeldige sitteplasser til de diverse personene???

 

Noen som kan hjelpe lille desperate meg???

 

Tusen takk på forhånd!!!!

 

PS Det haster! :(

Igjen tusen takk!!! :D

Lenke til kommentar
Videoannonse
Annonse

Her er en kodesnipp som skal fungere til ditt bruk. Lagre det til en fil du kaller Sitteplass.java. I samme mappe legger du en fil med navnene på hver sin linje.

 

Du må kompilere det med:

 

$ javac Sitteplass.java

Deretter kjører du filen:

$ java Sitteplass filnavn.txt

 

Eller, dersom du lagret filen som navn.txt:

 

$java Sitteplass

 

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Sitteplass {
public Sitteplass(List<String> navn) {
	Collections.shuffle(navn);
	for (int i = 0; i < navn.size(); i++) {
		System.out.println((i + 1) + ":\t" + navn.get(i));
	}
}

public static void main(String[] args) {
	List<String> navn;
	if (args == null || args.length == 0) {
		navn = getNamesFromFile("navn.txt");
	} else {
		navn = getNamesFromFile(args[0]);
	}
	new Sitteplass(navn);
}

public static List<String> getNamesFromFile(String filename) {
	List<String> lines = new ArrayList<String>();
	try {
		FileReader fr = new FileReader(filename);
		BufferedReader br = new BufferedReader(fr);
		String line = "";
		while ((line = br.readLine()) != null) {
			lines.add(line);
		}
	} catch (FileNotFoundException e) {
		e.printStackTrace();
	} catch (IOException e) {
		e.printStackTrace();
	}
	return lines;
}
}

Lenke til kommentar

Det er kanskje verdt å nevne at jeg er en uber noob på java, sliter med å kompilere den. Prøver å bruke et program som heter eklipse...

 

Noen som kan gi meg et hint eller to på hva jeg burde gjøre videre, tusen takk forresten!!!!

 

:D

 

Sun360

Lenke til kommentar
Gjest Slettet+1374861

Vel, hvis du har inne en version av JDK og en version av Eclipse så skal det teoreeetisk sett være veldig enkelt å greit.

 

Åpne Java fila i Eclipse og trykk ctrl+F11, eller lok litt i menyene etter "Run as..." -> "Java application". Done.

 

Er selvfølgelig både mulig om like overkommelig å gjøre dette via en kommandolinje, men hvis du skal gjøre det inne i Eclipse så nevnte jeg da en måte...

 

Forøvrig KAN det bli mer problematisk, da ofte angående ulike PATH-er osv, men prøv å se om du er heldig først.

 

www.eclipse.org

Lenke til kommentar
Gjest Slettet+1374861

Hmm... Vel... Skal noe skje? Vet du att programmet virker, og eventuelt skal skrive ut noe? Tror vi prøver den "Run as..." -> "Java application" varianten jeg. Kjør den og se hva som skjer.

 

Eventuelt da kan du prøve å gjøre det fra kommandolinje... Da må du skrive

javac JavaFil.java

for å kompilere

Og...

java JavaFil.class

for å kjøre

 

Men da får du med en gang en del problemer med at du må sette riktig classpath iforhold til filen. Du får rapportere tilbake :p

Lenke til kommentar

Heisann.

 

Ok nå er jeg på en måte litt forvirret, nå er jeg usikker på hva som faktisk burde skje, altså hvordan vet jeg at det funker? Kommer det opp et (dos) vindu, eller noe liggnende?

 

Når det gjelder kommandolinje varianten, den tar for lang tid å sette opp riktig. ( Har gjort det en gang før, men etter 10 forsøk gikk jeg over til en client ala eclipse)

Lenke til kommentar
Gjest Slettet+1374861

det som skal skje i Eclipse er at ALT av output og input skjer i vinduet det står "Console" på.

Hvis du lagrer denne...

public class HelloWorld
{
public static void main(String[] args)
{
	System.out.println("Hello World!");
}
}

...og gjør ctrl+F11, eller "run as" "java application" så skal det da i "Console" vinduet stå "Hello World!".

Lenke til kommentar

Sun: Kan du din vei rundt terminalen i Windows?

 

Lagre koden i en fil som heter Sitteplass.java og gå til det stedet:

 

C:\> cd Stedet\den\ligger

C:\Stedet\den\ligger> c:\program files\java\jre1.6.0\bin\javac.exe Sitteplass.java

C:\Stedet\den\ligger> c:\program files\java\jre1.6.0\bin\java.exe Sitteplass

 

 

Du sier du "har problemer med javac". Hva er problemet?

Lenke til kommentar

Terminal systememt i windows har jeg brukt fra tid til annen, så jeg har en forståelse men ikke noe særlig expert.

 

problemet mitt nå er at i eclipse så skjer det ingenting, atlså jeg prøver å kjøre progamemt, men jeg legger verken merke til at den kompilerer eller at noe annet skjer i backgrunnen. Så enten har jeg satt opp filen feil, eller så sliter jeg med å få den i gang.

 

-Sun360

Endret av sun360
Lenke til kommentar
Terminal systememt i windows har jeg brukt fra tid til annen, så jeg har en forståelse men ikke noe særlig expert.
Med andre ord; du har ingen forståelse for det. En ærlig sak, CMD er langt fra noe å skryte av.
problemet mitt nå er at i eclipse så skjer det ingenting, atlså jeg prøver å kjøre progamemt, men jeg legger verken merke til at den kompilerer eller at noe annet skjer i backgrunnen.
Med andre ord, du har ikke forståelse for Eclipse. Har du prøvd å kjøre programmet, og i så tilfelle, hva står i console?
Så enten har jeg satt påå filen feil, eller så sliter jeg med å få den i gang.
Satt på filen? Få den i gang? Det er ikke noe å få igang, den skal bare kompileres (skjer automatisk av Eclipse) og deretter skal bytekodefilen kjøres, og det skal skje ved Shift-alt-x j.
Lenke til kommentar

For å svare kort:

Hva mente du med "Kan du din vei rundt terminalen i Windows"??

 

Nei , jeg har aldri før brukt eclipse. Har sett på den i totalt kanskje 6-8 timer. Så ja du kan gjerne si at jeg har ikke forståelse av hvordan den funker. Har også for så vidt nevnte at jeg er en rimelig nybegynner når det gjelder JAVA, har drevet med det i total per tre uker,så du får unnskylde meg hvis jeg ikke gjør akkurat det du vill på måte du forklarer.

 

Vill takke alle sammen for å ha tatt tiden til å hjelpe meg med dette, men man trenger da ikke være sur bare fordi jeg ikke for det til med en gang.

 

Sun360

Lenke til kommentar
Gjest Slettet+1374861

Vi har alle vert ferske en gang Sun.

 

Men altså, påstår du at når du tar "Run as" -> "Java application" ser du INGEN synlige endringer? INGEN tekst i "Console"? Ingen knapper som begynner å lyse? Ingen vindu som blir aktive?

 

Hvis det er ABSOLUTT ingenting, så si det. Men hvis det er NOE, hva som helst, så si hva det er.

 

Men hadde vert litt praktisk hvis du fikk til pgdx sin test i cmd.

Lenke til kommentar
Hva mente du med "Kan du din vei rundt terminalen i Windows"??
Om du kan bruke cd, dir og kjenner til hvordan man gir programmer argumenter. Hvordan du starter en exe-fil som ikke ligger i $PATH eller i working directory. For å få til det programmet som jeg har skrevet, trenger du kun tre ting. Lokalisere javac.exe (om du har den), java.exe og kjøre begge de to. Men det fikk du ikke til.
Vill takke alle sammen for å ha tatt tiden til å hjelpe meg med dette, men man trenger da ikke være sur bare fordi jeg ikke for det til med en gang.
Hvis det var meg du siktet til, så må jeg bare få forklare deg at jeg ikke er sur, men det er litt vanskelig å gi deg hjelp når du ikke sier hva du har prøvd (på et detaljert nivå) og hva som gikk gale.

 

Så derfor må du svare på to ting: Hvor gikk det gale i CMD; med andre ord, hvilke feilmeldinger fikk du og hva forstod du ikke? Og: Hva står det i console i Eclipse når du prøver å kjøre programmet Sitteplass?

Lenke til kommentar

Cmd har jeg brukt en del, men pga at jeg har ikke satt opp PAth biten riktig i enviorment variables så funker den ikke som den skall. HAr egenltig brukt Netbeans ( ala eclips) tidligere, men den funker dårlig på vista (:( ).

 

I eclipse så starter jeg opp filen, men som sag så skjer ingenting, verken feilmelding eller noe annet.

Console biten:

Usage: javaw [-options] class [args...]

(to execute a class)

or javaw [-options] -jar jarfile [args...]

(to execute a jar file)

 

where options include:

-client to select the "client" VM

-server to select the "server" VM

-hotspot is a synonym for the "client" VM [deprecated]

The default VM is client.

 

-cp <class search path of directories and zip/jar files>

-classpath <class search path of directories and zip/jar files>

A ; separated list of directories, JAR archives,

and ZIP archives to search for class files.

-D<name>=<value>

set a system property

-verbose[:class|gc|jni]

enable verbose output

-version print product version and exit

-version:<value>

require the specified version to run

-showversion print product version and continue

-jre-restrict-search | -jre-no-restrict-search

include/exclude user private JREs in the version search

-? -help print this help message

-X print help on non-standard options

-ea[:<packagename>...|:<classname>]

-enableassertions[:<packagename>...|:<classname>]

enable assertions

-da[:<packagename>...|:<classname>]

-disableassertions[:<packagename>...|:<classname>]

disable assertions

-esa | -enablesystemassertions

enable system assertions

-dsa | -disablesystemassertions

disable system assertions

-agentlib:<libname>[=<options>]

load native agent library <libname>, e.g. -agentlib:hprof

see also, -agentlib:jdwp=help and -agentlib:hprof=help

-agentpath:<pathname>[=<options>]

load native agent library by full pathname

-javaagent:<jarpath>[=<options>]

load Java programming language agent, see java.lang.instrument

-splash:<imagepath>

show splash screen with specified image

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...