Jump to content

A noobs question java

Go to solution Solved by Mira Yurizaki,

In Java, assuming the class didn't override it, the == operator on two variables objects checks if their references are the same. That is, if they're pointing to the same object.

 

So no, that won't work. Use the String.equals() method to check if the contents are the same. See https://www.geeksforgeeks.org/difference-equals-method-java/

this should run the if statement right?

package turncard;

import java.util.*;

class person {// the class that sets a person
	String name;// the persons name
	int age;// that persons age
	int amount;// that persons turncard amount

	void add(int addamount) {
		amount += addamount;// add addamount to amount
	}

	void set(int setamount) {
		amount = setamount;// set amount to setamount
	}
}

public class Main {
	public static void main(String[] args) {
		person EJ = new person();
		EJ.name = "EJ";
		System.out.println("what should I do?");
		EJ.age = 14;
		EJ.amount = 4;
		Scanner input = new Scanner(System.in);
		String c = input.nextLine();
		System.out.println(c);
		if(c == "add") {
			System.out.println("how much should I add?");
		}
	}

}

 

I live in misery USA. my timezone is central daylight time which is either UTC -5 or -4 because the government hates everyone.

Link to comment
https://linustechtips.com/topic/1088324-a-noobs-question-java/
Share on other sites

Link to post
Share on other sites

In Java, assuming the class didn't override it, the == operator on two variables objects checks if their references are the same. That is, if they're pointing to the same object.

 

So no, that won't work. Use the String.equals() method to check if the contents are the same. See https://www.geeksforgeeks.org/difference-equals-method-java/

Edited by Mira Yurizaki
Link to comment
https://linustechtips.com/topic/1088324-a-noobs-question-java/#findComment-12762760
Share on other sites

Link to post
Share on other sites

2 minutes ago, Mira Yurizaki said:

In Java, assuming the class didn't override it, the == operator on two variables checks if their references are the same. That is, if they're pointing to the same object.

 

So no, that won't work. Use the String.equals() method to check if the contents are the same. See https://www.geeksforgeeks.org/difference-equals-method-java/

 

EDIT: The above doesn't apply to primitive data types, only to objects.

THANK YOU! I would never have found that out.

I live in misery USA. my timezone is central daylight time which is either UTC -5 or -4 because the government hates everyone.

Link to comment
https://linustechtips.com/topic/1088324-a-noobs-question-java/#findComment-12762768
Share on other sites

Link to post
Share on other sites

On 7/30/2019 at 10:43 AM, will4623 said:

person EJ = new person();

Other minor quibble: class names always start capitalized (not primitives like int, double, etc., though); variable names always start lowercase.

Main System (Byarlant): Ryzen 9 5950X | Asus B550-Creator ProArt | EK 240mm Basic AIO | 32GB G.Skill DDR4 3600MT/s CL16 | XFX Speedster SWFT 210 RX 6600 | Samsung 990 PRO 2TB / Samsung 990 EVO Plus 4TB | Corsair RM750X | StarTech 4× USB 3.0 Card | Realtek RTL8127 10G NIC | Hyte Y60 Case | Dell U3415W Monitor | Keychron K12 Blue (RGB backlight)

 

Laptop (Narrative): Lenovo Flex 5 81X20005US | Ryzen 5 4500U | 16GB DDR4 3200MT/s (soldered) | Vega II 384SP Graphics | SKHynix P31 1TB NVMe SSD | Intel AX200 Wifi | Asus 2.5G USB NIC | Asus ProArt PA278QV | Keychron K4 Brown (white backlight)

 

Proxmox Server (Veda): Ryzen 7 3800XT | ASRock Rack X470D4U | Corsair H80i v2 | 128GB Micron DDR4 ECC 3200MT/s | 2× Samsung PM963a 960GB SSD / 4× WD 10TB / 4× Seagate 14TB Exos / 4× Micron MX500 2TB / 8× WD 12TB (custom external SAS enclosure) | Seasonic Prime Fanless 500W | Intel X550-T2 10G NIC | LSI 9300-8i HBA | Adaptec 82885T SAS Expander | Fractal Design Node 804 Case

 

Proxmox Server (La Vie en Rose)GMKtec Mini PC | Ryzen 7 5700U | 32GB Lexar DDR4 (SODIMM) | Vega II 512SP Graphics | Lexar 1TB 610 Pro SSD | 2× Realtek 8125 2.5G NICs


Media Center/Video Capture (Jesta Cannon): Ryzen 5 1600X | ASRock B450M Pro4 R2.0 | Noctua NH-L12S | 16GB Crucial DDR4 3200MT/s | EVGA GTX750Ti SC | UMIS NVMe SSD 256GB / TEAMGROUP MS30 1TB | Corsair CX450M | Viewcast Osprey 260e Video Capture | TrendNet (AQC107) 10G NIC | LG WH14NS40 BD-ROM | Silverstone Sugo SG-11 Case | Sony XR65A80K

 

Workbench (Doven Wolf): Lenovo m715q | Ryzen Pro 3 2200GE | 16GB Crucial DDR4 3200MT/s (SODIMM) | Vega 8 Graphics | SKHynix (OEM) 256GB NVMe SSD | uni 2.5G USB NIC | HDMI add-in module

 

Network:

Spoiler
                       ┌─────────────── Office/Rack ───────────────────────────────────────────────┐
Google Fiber Webpass ── Cloud Gateway Max ══╦═ Pro XG 8 ══╦═ Flex 2.5-8 ══╦═ Doven Wolf
                      La Vie en Rose (DNS) ═╬═ Narrative  ╠═ Veda-NAS     ╠═ La Vie en Rose (vmbr)
                                Veda (DNS) ─┘             ╠═ Veda (vmbr)  ├─ Ptolemy (vmbr)
╔═════════════════════════════════════════════════════════╩═ Ptolemy-NAS  ├─ Veda (Mgmt)
║   ┌ Closet ┐      ┌───────── Bedroom ─────────┐                         └─ Veda (IPMI)
╚═══ Flex XG ══╦╤═══ Flex XG ══╤╦═ Byarlant
       (PoE)   ║│              │╠═ Narrative 
Kitchen Jack ══╣└─ Dual PoE ┐  │╚═ Jesta Cannon*
   (Testing)   ║┌─ Injector ┘  └── Work Laptop
     Bedroom ══╝│        ┌─────── Media Center ────────────────────────────┐
     Jack #2    └──────── Switch 8 ────────────┬─ nanoHD Access Point (PoE)
Notes:                                         ├─ Sony PlayStation 4 
─── is Gigabit / ═══ is Multi-Gigabit          ├─ Pioneer VSX-S520
* = cable passed from Bedroom to Media Center  └─ Sony XR65A80K (Google TV)
Link to comment
https://linustechtips.com/topic/1088324-a-noobs-question-java/#findComment-12769033
Share on other sites

Link to post
Share on other sites

1 minute ago, AbydosOne said:

Other minor quibble: class names always start capitalized (not primitives like int, double, etc., though); variable names always start lowercase.

I know but I'm lazy.

I live in misery USA. my timezone is central daylight time which is either UTC -5 or -4 because the government hates everyone.

Link to comment
https://linustechtips.com/topic/1088324-a-noobs-question-java/#findComment-12769036
Share on other sites

Link to post
Share on other sites

2 hours ago, will4623 said:

I know but I'm lazy.

I'm under the belief if the compiler/interpreter/whatever doesn't strictly enforce style, then the style is left up to the coder.

 

As long as the style is consistent, it doesn't matter what you do. I might hate you for doing something though. :P

Link to comment
https://linustechtips.com/topic/1088324-a-noobs-question-java/#findComment-12769382
Share on other sites

Link to post
Share on other sites

package turncard;

import java.util.*;

class Person {// the class that sets a person
	String name;// the persons name
	int age;// that persons age
	int amount;// that persons turncard amount

	void add(int addamount) {
		amount += addamount;// add addamount to amount
	}

	void set(int setamount) {
		amount = setamount;// set amount to setamount
	}
}

public class Main {
	public static void main(String[] args) {
		Person EJ = new Person();
		EJ.name = "EJ";
		System.out.println("what should I do?");
		EJ.age = 14;
		EJ.amount = 4;
		String c = "";
		String errors = "";
		while (c.contentEquals("stop") != true) {
			Scanner input = new Scanner(System.in);
			c = input.next();
			if (c.contentEquals("add")) {
				System.out.println("how much should I add?");
				input = new Scanner(System.in);

				int addme = input.nextInt();
				EJ.add(addme);

			} else if (c.contentEquals("set")) {
				System.out.println("what should I set it to?");
				int setme = input.nextInt();
				EJ.set(setme);

			} else if (c.contentEquals("tell")) {
				System.out.println(EJ.amount);
			} else if (c.contentEquals("stop")) {

				System.out.println("terminating");

			} else if (c.contentEquals("errors")) {
				System.out.println(errors);
			} else {
				System.out.println("I am incapable of that at this time. Sorry!");
				errors += c + "	";

			}

		}

	}
}

fine you convensed me

I live in misery USA. my timezone is central daylight time which is either UTC -5 or -4 because the government hates everyone.

Link to comment
https://linustechtips.com/topic/1088324-a-noobs-question-java/#findComment-12769470
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×